summaryrefslogtreecommitdiff
path: root/tests/node_compat/test/parallel/test-child-process-spawn-event.js
blob: bf1f26ff0d1299bfc503b77125b3b51f7df16dd5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// 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 `tests/node_compat/runner/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());