test: fix flaky cluster-disconnect-race
On single core Windows systems, process.send() would cause an EPIPE because of the ordering of the IPC channel disconnect and the process.send(). The test was originally only relevant for non-Windows platforms, so this commit merely skips the test on Windows. Fixes: https://github.com/nodejs/node/issues/4450 PR-URL: https://github.com/nodejs/node/pull/4457 Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
parent
3809126427
commit
fd551c3f29
@ -7,6 +7,12 @@ const common = require('../common');
|
|||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
const net = require('net');
|
const net = require('net');
|
||||||
const cluster = require('cluster');
|
const cluster = require('cluster');
|
||||||
|
|
||||||
|
if (common.isWindows) {
|
||||||
|
console.log('1..0 # Skipped: This test does not apply to Windows.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
cluster.schedulingPolicy = cluster.SCHED_NONE;
|
cluster.schedulingPolicy = cluster.SCHED_NONE;
|
||||||
|
|
||||||
if (cluster.isMaster) {
|
if (cluster.isMaster) {
|
||||||
@ -19,9 +25,9 @@ if (cluster.isMaster) {
|
|||||||
worker2.on('online', common.mustCall(worker2.disconnect));
|
worker2.on('online', common.mustCall(worker2.disconnect));
|
||||||
}));
|
}));
|
||||||
|
|
||||||
cluster.on('exit', function(worker, code) {
|
cluster.on('exit', common.mustCall(function(worker, code) {
|
||||||
assert.strictEqual(code, 0, 'worker exited with error');
|
assert.strictEqual(code, 0, 'worker exited with error');
|
||||||
});
|
}, 2));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user