11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ci 31cb0ef41Sopenharmony_ciconst common = require('../common'); 41cb0ef41Sopenharmony_ciconst assert = require('assert'); 51cb0ef41Sopenharmony_ciconst os = require('os'); 61cb0ef41Sopenharmony_ci 71cb0ef41Sopenharmony_ciif (process.argv[2] === 'child') { 81cb0ef41Sopenharmony_ci const { pipeline } = require('stream'); 91cb0ef41Sopenharmony_ci pipeline( 101cb0ef41Sopenharmony_ci process.stdin, 111cb0ef41Sopenharmony_ci process.stdout, 121cb0ef41Sopenharmony_ci common.mustSucceed() 131cb0ef41Sopenharmony_ci ); 141cb0ef41Sopenharmony_ci} else { 151cb0ef41Sopenharmony_ci const cp = require('child_process'); 161cb0ef41Sopenharmony_ci cp.exec([ 171cb0ef41Sopenharmony_ci 'echo', 181cb0ef41Sopenharmony_ci 'hello', 191cb0ef41Sopenharmony_ci '|', 201cb0ef41Sopenharmony_ci `"${process.execPath}"`, 211cb0ef41Sopenharmony_ci `"${__filename}"`, 221cb0ef41Sopenharmony_ci 'child', 231cb0ef41Sopenharmony_ci ].join(' '), common.mustSucceed((stdout) => { 241cb0ef41Sopenharmony_ci assert.strictEqual(stdout.split(os.EOL).shift().trim(), 'hello'); 251cb0ef41Sopenharmony_ci })); 261cb0ef41Sopenharmony_ci} 27