From 806d3d71e25658c3df770d677c6ad73b9a7b13ae Mon Sep 17 00:00:00 2001 From: cjihrig Date: Fri, 8 Mar 2019 11:59:08 -0500 Subject: report: rename triggerReport() to writeReport() writeReport() is more descriptive of what the function does. PR-URL: https://github.com/nodejs/node/pull/26527 Reviewed-By: Richard Lau Reviewed-By: Ruben Bridgewater --- test/report/test-report-triggerreport.js | 124 ------------------------------- test/report/test-report-writereport.js | 124 +++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+), 124 deletions(-) delete mode 100644 test/report/test-report-triggerreport.js create mode 100644 test/report/test-report-writereport.js (limited to 'test/report') diff --git a/test/report/test-report-triggerreport.js b/test/report/test-report-triggerreport.js deleted file mode 100644 index c89959ae87..0000000000 --- a/test/report/test-report-triggerreport.js +++ /dev/null @@ -1,124 +0,0 @@ -// Flags: --experimental-report -'use strict'; - -// Test producing a report via API call, using the no-hooks/no-signal interface. -const common = require('../common'); -common.skipIfReportDisabled(); -const assert = require('assert'); -const { spawnSync } = require('child_process'); -const fs = require('fs'); -const path = require('path'); -const helper = require('../common/report'); -const tmpdir = require('../common/tmpdir'); - -common.expectWarning('ExperimentalWarning', - 'report is an experimental feature. This feature could ' + - 'change at any time'); -tmpdir.refresh(); -process.report.directory = tmpdir.path; - -function validate() { - const reports = helper.findReports(process.pid, tmpdir.path); - assert.strictEqual(reports.length, 1); - helper.validate(reports[0]); - fs.unlinkSync(reports[0]); - return reports[0]; -} - -{ - // Test with no arguments. - process.report.triggerReport(); - validate(); -} - -{ - // Test with an error argument. - process.report.triggerReport(new Error('test error')); - validate(); -} - -{ - // Test with a file argument. - const file = process.report.triggerReport('custom-name-1.json'); - const absolutePath = path.join(tmpdir.path, file); - assert.strictEqual(helper.findReports(process.pid, tmpdir.path).length, 0); - assert.strictEqual(file, 'custom-name-1.json'); - helper.validate(absolutePath); - fs.unlinkSync(absolutePath); -} - -{ - // Test with file and error arguments. - const file = process.report.triggerReport('custom-name-2.json', - new Error('test error')); - const absolutePath = path.join(tmpdir.path, file); - assert.strictEqual(helper.findReports(process.pid, tmpdir.path).length, 0); - assert.strictEqual(file, 'custom-name-2.json'); - helper.validate(absolutePath); - fs.unlinkSync(absolutePath); -} - -{ - // Test with a filename option. - process.report.filename = 'custom-name-3.json'; - const file = process.report.triggerReport(); - assert.strictEqual(helper.findReports(process.pid, tmpdir.path).length, 0); - const filename = path.join(process.report.directory, 'custom-name-3.json'); - assert.strictEqual(file, process.report.filename); - helper.validate(filename); - fs.unlinkSync(filename); -} - -// Test with an invalid file argument. -[null, 1, Symbol(), function() {}].forEach((file) => { - common.expectsError(() => { - process.report.triggerReport(file); - }, { code: 'ERR_INVALID_ARG_TYPE' }); -}); - -// Test with an invalid error argument. -[null, 1, Symbol(), function() {}, 'foo'].forEach((error) => { - common.expectsError(() => { - process.report.triggerReport('file', error); - }, { code: 'ERR_INVALID_ARG_TYPE' }); -}); - -{ - // Test the special "stdout" filename. - const args = ['--experimental-report', '-e', - 'process.report.triggerReport("stdout")']; - const child = spawnSync(process.execPath, args, { cwd: tmpdir.path }); - assert.strictEqual(child.status, 0); - assert.strictEqual(child.signal, null); - assert.strictEqual(helper.findReports(child.pid, tmpdir.path).length, 0); - helper.validateContent(child.stdout.toString()); -} - -{ - // Test the special "stderr" filename. - const args = ['--experimental-report', '-e', - 'process.report.triggerReport("stderr")']; - const child = spawnSync(process.execPath, args, { cwd: tmpdir.path }); - assert.strictEqual(child.status, 0); - assert.strictEqual(child.signal, null); - assert.strictEqual(child.stdout.toString().trim(), ''); - assert.strictEqual(helper.findReports(child.pid, tmpdir.path).length, 0); - const report = child.stderr.toString().split('Node.js report completed')[0]; - helper.validateContent(report); -} - -{ - // Test the case where the report file cannot be opened. - const reportDir = path.join(tmpdir.path, 'does', 'not', 'exist'); - const args = ['--experimental-report', - `--diagnostic-report-directory=${reportDir}`, - '-e', - 'process.report.triggerReport()']; - const child = spawnSync(process.execPath, args, { cwd: tmpdir.path }); - - assert.strictEqual(child.status, 0); - assert.strictEqual(child.signal, null); - assert.strictEqual(child.stdout.toString().trim(), ''); - const stderr = child.stderr.toString(); - assert(stderr.includes('Failed to open Node.js report file:')); -} diff --git a/test/report/test-report-writereport.js b/test/report/test-report-writereport.js new file mode 100644 index 0000000000..6c7ed8a71c --- /dev/null +++ b/test/report/test-report-writereport.js @@ -0,0 +1,124 @@ +// Flags: --experimental-report +'use strict'; + +// Test producing a report via API call, using the no-hooks/no-signal interface. +const common = require('../common'); +common.skipIfReportDisabled(); +const assert = require('assert'); +const { spawnSync } = require('child_process'); +const fs = require('fs'); +const path = require('path'); +const helper = require('../common/report'); +const tmpdir = require('../common/tmpdir'); + +common.expectWarning('ExperimentalWarning', + 'report is an experimental feature. This feature could ' + + 'change at any time'); +tmpdir.refresh(); +process.report.directory = tmpdir.path; + +function validate() { + const reports = helper.findReports(process.pid, tmpdir.path); + assert.strictEqual(reports.length, 1); + helper.validate(reports[0]); + fs.unlinkSync(reports[0]); + return reports[0]; +} + +{ + // Test with no arguments. + process.report.writeReport(); + validate(); +} + +{ + // Test with an error argument. + process.report.writeReport(new Error('test error')); + validate(); +} + +{ + // Test with a file argument. + const file = process.report.writeReport('custom-name-1.json'); + const absolutePath = path.join(tmpdir.path, file); + assert.strictEqual(helper.findReports(process.pid, tmpdir.path).length, 0); + assert.strictEqual(file, 'custom-name-1.json'); + helper.validate(absolutePath); + fs.unlinkSync(absolutePath); +} + +{ + // Test with file and error arguments. + const file = process.report.writeReport('custom-name-2.json', + new Error('test error')); + const absolutePath = path.join(tmpdir.path, file); + assert.strictEqual(helper.findReports(process.pid, tmpdir.path).length, 0); + assert.strictEqual(file, 'custom-name-2.json'); + helper.validate(absolutePath); + fs.unlinkSync(absolutePath); +} + +{ + // Test with a filename option. + process.report.filename = 'custom-name-3.json'; + const file = process.report.writeReport(); + assert.strictEqual(helper.findReports(process.pid, tmpdir.path).length, 0); + const filename = path.join(process.report.directory, 'custom-name-3.json'); + assert.strictEqual(file, process.report.filename); + helper.validate(filename); + fs.unlinkSync(filename); +} + +// Test with an invalid file argument. +[null, 1, Symbol(), function() {}].forEach((file) => { + common.expectsError(() => { + process.report.writeReport(file); + }, { code: 'ERR_INVALID_ARG_TYPE' }); +}); + +// Test with an invalid error argument. +[null, 1, Symbol(), function() {}, 'foo'].forEach((error) => { + common.expectsError(() => { + process.report.writeReport('file', error); + }, { code: 'ERR_INVALID_ARG_TYPE' }); +}); + +{ + // Test the special "stdout" filename. + const args = ['--experimental-report', '-e', + 'process.report.writeReport("stdout")']; + const child = spawnSync(process.execPath, args, { cwd: tmpdir.path }); + assert.strictEqual(child.status, 0); + assert.strictEqual(child.signal, null); + assert.strictEqual(helper.findReports(child.pid, tmpdir.path).length, 0); + helper.validateContent(child.stdout.toString()); +} + +{ + // Test the special "stderr" filename. + const args = ['--experimental-report', '-e', + 'process.report.writeReport("stderr")']; + const child = spawnSync(process.execPath, args, { cwd: tmpdir.path }); + assert.strictEqual(child.status, 0); + assert.strictEqual(child.signal, null); + assert.strictEqual(child.stdout.toString().trim(), ''); + assert.strictEqual(helper.findReports(child.pid, tmpdir.path).length, 0); + const report = child.stderr.toString().split('Node.js report completed')[0]; + helper.validateContent(report); +} + +{ + // Test the case where the report file cannot be opened. + const reportDir = path.join(tmpdir.path, 'does', 'not', 'exist'); + const args = ['--experimental-report', + `--diagnostic-report-directory=${reportDir}`, + '-e', + 'process.report.writeReport()']; + const child = spawnSync(process.execPath, args, { cwd: tmpdir.path }); + + assert.strictEqual(child.status, 0); + assert.strictEqual(child.signal, null); + assert.strictEqual(child.stdout.toString().trim(), ''); + const stderr = child.stderr.toString(); + assert(stderr.includes('Failed to open Node.js report file:')); +} -- cgit v1.2.3