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