|
|
|
'use strict';
|
|
|
|
require('../common');
|
|
|
|
var assert = require('assert');
|
|
|
|
var exec = require('child_process').exec;
|
|
|
|
var os = require('os');
|
|
|
|
|
|
|
|
var success_count = 0;
|
|
|
|
|
|
|
|
var str = 'hello';
|
|
|
|
|
|
|
|
// default encoding
|
|
|
|
exec('echo ' + str, function(err, stdout, stderr) {
|
|
|
|
assert.ok('string', typeof stdout, 'Expected stdout to be a string');
|
|
|
|
assert.ok('string', typeof stderr, 'Expected stderr to be a string');
|
|
|
|
assert.equal(str + os.EOL, stdout);
|
|
|
|
|
|
|
|
success_count++;
|
|
|
|
});
|
|
|
|
|
|
|
|
// no encoding (Buffers expected)
|
|
|
|
exec('echo ' + str, {
|
|
|
|
encoding: null
|
|
|
|
}, function(err, stdout, stderr) {
|
|
|
|
assert.ok(stdout instanceof Buffer, 'Expected stdout to be a Buffer');
|
|
|
|
assert.ok(stderr instanceof Buffer, 'Expected stderr to be a Buffer');
|
|
|
|
assert.equal(str + os.EOL, stdout.toString());
|
|
|
|
|
|
|
|
success_count++;
|
|
|
|
});
|
|
|
|
|
|
|
|
process.on('exit', function() {
|
|
|
|
assert.equal(2, success_count);
|
|
|
|
});
|