| 123456789101112131415161718192021222324252627282930313233 | var tape = require('tape');var proc = require('child_process');var path = require('path');tape('print to stdout', function(t) {	proc.exec('"'+process.execPath+'" '+path.join(__dirname,'fixtures','hello-world.js'), function(err, stdout) {		t.ok(!err);		t.same(stdout,'hello\nworld\n');		t.end();	});});tape('end stdout', function(t) {	var ch = proc.exec('"'+process.execPath+'" '+path.join(__dirname,'fixtures','end.js'));	var buf = [];	var processOnExit = false;	var stdoutOnEnd = false;	ch.stdout.on('data', function(data) {		buf.push(data);	});	ch.stdout.on('end', function() {		t.same(Buffer.concat(buf).toString(), 'stdout');		t.ok(!processOnExit);		stdoutOnEnd = true;	});	ch.on('exit', function(code) {		processOnExit = true;		t.ok(stdoutOnEnd);		t.same(code, 0);		t.end();	});});
 |