-
-
Notifications
You must be signed in to change notification settings - Fork 33.5k
Closed
Labels
testIssues and PRs related to the tests.Issues and PRs related to the tests.windowsIssues and PRs related to the Windows platform.Issues and PRs related to the Windows platform.
Description
- Version: v7.8.0 for example.
- Platform: Windows (10, for example)
- Subsystem: test (common.js)
Looks like common.nodeProcessAborted() (test/common.js) does not cover Windows aborts comprehensively. Results from MAC and Windows on a sample code show the difference:
'use strict';
const common = require('../common');
const assert = require('assert');
const spawn = require('child_process').spawn;
if (process.argv[2] === 'child') {
process.abort();
} else {
const child = spawn(process.argv[0], [process.argv[1], 'child']);
child.on('exit', common.mustCall((code, signal) => {
console.log('child exited with code: ' + code + ' and signal: ' + signal);
assert(common.nodeProcessAborted(code, signal),
'process should have aborted, but did not');
}));
}
MAC:
child exited with code: null and signal: SIGABRT
Windows:
child exited with code: 3 and signal: null
assert.js:81
throw new assert.AssertionError({
^
AssertionError: process should have aborted, but did not
at ChildProcess.child.on.common.mustCall (D:\gireesh\parser\node\test\parallel\foo.js:12:5)
at ChildProcess.<anonymous> (D:\gireesh\parser\node\test\common.js:452:15)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:194:7)
at Process.ChildProcess._handle.onexit (internal/child_process.js:208:12)
Metadata
Metadata
Assignees
Labels
testIssues and PRs related to the tests.Issues and PRs related to the tests.windowsIssues and PRs related to the Windows platform.Issues and PRs related to the Windows platform.