'use strict'; var common = require('../common'); var assert = require('assert'); var spawn = require('child_process').spawn; var exitCode; var termSignal; var gotStdoutEOF = false; var gotStderrEOF = false; var cat = spawn(common.isWindows ? 'cmd' : 'cat'); cat.stdout.on('end', function() { gotStdoutEOF = true; }); cat.stderr.on('data', function(chunk) { assert.ok(false); }); cat.stderr.on('end', function() { gotStderrEOF = true; }); cat.on('exit', function(code, signal) { exitCode = code; termSignal = signal; }); assert.equal(cat.killed, false); cat.kill(); assert.equal(cat.killed, true); process.on('exit', function() { assert.strictEqual(exitCode, null); assert.strictEqual(termSignal, 'SIGTERM'); assert.ok(gotStdoutEOF); assert.ok(gotStderrEOF); });