You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
818 B
33 lines
818 B
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(); |
|
}); |
|
}); |