child_process: fix test implementation for options.detached
This commit is contained in:
Родитель
25e8ea17e1
Коммит
2eb181d28c
|
@ -0,0 +1,13 @@
|
|||
|
||||
var spawn = require('child_process').spawn,
|
||||
path = require('path'),
|
||||
childPath = path.join(__dirname, 'child-process-persistent.js');
|
||||
|
||||
var child = spawn(process.execPath, [ childPath ], {
|
||||
detached: true,
|
||||
stdio: 'ignore'
|
||||
});
|
||||
|
||||
console.log(child.pid);
|
||||
|
||||
child.unref();
|
|
@ -24,15 +24,22 @@ var assert = require('assert');
|
|||
var path = require('path');
|
||||
|
||||
var spawn = require('child_process').spawn;
|
||||
var childPath = path.join(__dirname, '..', 'fixtures', 'child-process-persistent.js');
|
||||
var childPath = path.join(__dirname, '..', 'fixtures', 'parent-process-nonpersistent.js');
|
||||
var persistentPid = -1;
|
||||
|
||||
var child = spawn(process.execPath, [ childPath ], {
|
||||
detached: true,
|
||||
stdio: 'ignore'
|
||||
var child = spawn(process.execPath, [ childPath ]);
|
||||
|
||||
child.stdout.on('data', function (data) {
|
||||
persistentPid = parseInt(data, 10);
|
||||
});
|
||||
|
||||
process.on('exit', function () {
|
||||
process.kill(child.pid);
|
||||
assert.throws(process.kill(child.pid), Error);
|
||||
assert(persistentPid !== -1);
|
||||
assert.throws(function () {
|
||||
process.kill(child.pid);
|
||||
});
|
||||
assert.doesNotThrow(function () {
|
||||
process.kill(persistentPid);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче