| 'use strict'; |
| const common = require('../common'); |
| const assert = require('assert'); |
| const spawn = require('child_process').spawn; |
| const cat = spawn(common.isWindows ? 'cmd' : 'cat'); |
| |
| cat.stdout.on('end', common.mustCall()); |
| cat.stderr.on('data', common.mustNotCall()); |
| cat.stderr.on('end', common.mustCall()); |
| |
| cat.on('exit', common.mustCall((code, signal) => { |
| assert.strictEqual(code, null); |
| assert.strictEqual(signal, 'SIGTERM'); |
| assert.strictEqual(cat.signalCode, 'SIGTERM'); |
| })); |
| cat.on('exit', common.mustCall((code, signal) => { |
| assert.strictEqual(code, null); |
| assert.strictEqual(signal, 'SIGTERM'); |
| assert.strictEqual(cat.signalCode, 'SIGTERM'); |
| })); |
| |
| assert.strictEqual(cat.signalCode, null); |
| assert.strictEqual(cat.killed, false); |
| cat[Symbol.dispose](); |
| assert.strictEqual(cat.killed, true); |