1'use strict'; 2const common = require('../common'); 3const assert = require('assert'); 4const spawn = require('child_process').spawn; 5const cat = spawn(common.isWindows ? 'cmd' : 'cat'); 6 7cat.stdout.on('end', common.mustCall()); 8cat.stderr.on('data', common.mustNotCall()); 9cat.stderr.on('end', common.mustCall()); 10 11cat.on('exit', common.mustCall((code, signal) => { 12 assert.strictEqual(code, null); 13 assert.strictEqual(signal, 'SIGTERM'); 14 assert.strictEqual(cat.signalCode, 'SIGTERM'); 15})); 16cat.on('exit', common.mustCall((code, signal) => { 17 assert.strictEqual(code, null); 18 assert.strictEqual(signal, 'SIGTERM'); 19 assert.strictEqual(cat.signalCode, 'SIGTERM'); 20})); 21 22assert.strictEqual(cat.signalCode, null); 23assert.strictEqual(cat.killed, false); 24cat[Symbol.dispose](); 25assert.strictEqual(cat.killed, true); 26