dotfiles/.vscode/extensions/saviorisdead.RustyCode-0.18.0/node_modules/signal-exit/test/fixtures/parent.js
Cyryl Płotnicki 2f946d6200 Add .vscode
2016-09-11 10:29:13 +02:00

51 lines
1 KiB
JavaScript

var signal = process.argv[2]
var gens = +process.argv[3] || 0
if (!signal || !isNaN(signal)) {
throw new Error('signal not provided')
}
var spawn = require('child_process').spawn
var file = require.resolve('./awaiter.js')
console.error(process.pid, signal, gens)
if (gens > 0) {
file = __filename
}
var child = spawn(process.execPath, [file, signal, gens - 1], {
stdio: [ 0, 'pipe', 'pipe' ]
})
if (!gens) {
child.stderr.on('data', function () {
child.kill(signal)
})
}
var result = ''
child.stdout.on('data', function (c) {
result += c
})
child.on('close', function (code, sig) {
try {
result = JSON.parse(result)
} catch (er) {
console.log('%j', {
error: 'failed to parse json\n' + er.message,
result: result,
pid: process.pid,
child: child.pid,
gens: gens,
expect: [ null, signal ],
actual: [ code, sig ]
})
return
}
if (result.wanted[1] === true) {
sig = !!sig
}
result.external = result.external || [ code, sig ]
console.log('%j', result)
})