// deno-fmt-ignore-file // deno-lint-ignore-file // Copyright Joyent and Node contributors. All rights reserved. MIT license. // Taken from Node 18.12.1 // This file is automatically generated by `tools/node_compat/setup.ts`. Do not modify this file manually. 'use strict'; const common = require('../common'); const spawn = require('child_process').spawn; const assert = require('assert'); const subprocess = spawn('echo', ['ok']); let didSpawn = false; subprocess.on('spawn', function() { didSpawn = true; }); function mustCallAfterSpawn() { return common.mustCall(function() { assert.ok(didSpawn); }); } subprocess.on('error', common.mustNotCall()); subprocess.on('spawn', common.mustCall()); subprocess.stdout.on('data', mustCallAfterSpawn()); subprocess.stdout.on('end', mustCallAfterSpawn()); subprocess.stdout.on('close', mustCallAfterSpawn()); subprocess.stderr.on('data', common.mustNotCall()); subprocess.stderr.on('end', mustCallAfterSpawn()); subprocess.stderr.on('close', mustCallAfterSpawn()); subprocess.on('exit', mustCallAfterSpawn()); subprocess.on('close', mustCallAfterSpawn());