11cb0ef41Sopenharmony_ci'use strict';
21cb0ef41Sopenharmony_ciconst common = require('../common');
31cb0ef41Sopenharmony_ciconst spawn = require('child_process').spawn;
41cb0ef41Sopenharmony_ciconst assert = require('assert');
51cb0ef41Sopenharmony_ci
61cb0ef41Sopenharmony_ciconst subprocess = spawn('echo', ['ok']);
71cb0ef41Sopenharmony_ci
81cb0ef41Sopenharmony_cilet didSpawn = false;
91cb0ef41Sopenharmony_cisubprocess.on('spawn', function() {
101cb0ef41Sopenharmony_ci  didSpawn = true;
111cb0ef41Sopenharmony_ci});
121cb0ef41Sopenharmony_cifunction mustCallAfterSpawn() {
131cb0ef41Sopenharmony_ci  return common.mustCall(function() {
141cb0ef41Sopenharmony_ci    assert.ok(didSpawn);
151cb0ef41Sopenharmony_ci  });
161cb0ef41Sopenharmony_ci}
171cb0ef41Sopenharmony_ci
181cb0ef41Sopenharmony_cisubprocess.on('error', common.mustNotCall());
191cb0ef41Sopenharmony_cisubprocess.on('spawn', common.mustCall());
201cb0ef41Sopenharmony_cisubprocess.stdout.on('data', mustCallAfterSpawn());
211cb0ef41Sopenharmony_cisubprocess.stdout.on('end', mustCallAfterSpawn());
221cb0ef41Sopenharmony_cisubprocess.stdout.on('close', mustCallAfterSpawn());
231cb0ef41Sopenharmony_cisubprocess.stderr.on('data', common.mustNotCall());
241cb0ef41Sopenharmony_cisubprocess.stderr.on('end', mustCallAfterSpawn());
251cb0ef41Sopenharmony_cisubprocess.stderr.on('close', mustCallAfterSpawn());
261cb0ef41Sopenharmony_cisubprocess.on('exit', mustCallAfterSpawn());
271cb0ef41Sopenharmony_cisubprocess.on('close', mustCallAfterSpawn());
28