cli: don't print result of --eval

Fixes #572.
This commit is contained in:
Ben Noordhuis 2011-07-25 23:54:44 +02:00
parent 216829e752
commit df3a8fcb62
3 changed files with 13 additions and 8 deletions

View File

@ -80,8 +80,7 @@
var module = new Module('eval'); var module = new Module('eval');
module.filename = path.join(cwd, 'eval'); module.filename = path.join(cwd, 'eval');
module.paths = Module._nodeModulePaths(cwd); module.paths = Module._nodeModulePaths(cwd);
var rv = module._compile('return eval(process._eval)', 'eval'); module._compile('eval(process._eval)', 'eval');
console.log(rv);
} else if (process.argv[1]) { } else if (process.argv[1]) {
// make process.argv[1] into a full path // make process.argv[1] into a full path

View File

@ -30,10 +30,16 @@ if (module.parent) {
process.exit(42); process.exit(42);
} }
// assert that the result of the final expression is written to stdout // assert that nothing is written to stdout
child.exec(nodejs + ' --eval "1337; 42"', child.exec(nodejs + ' --eval 42',
function(err, stdout, stderr) { function(err, stdout, stderr) {
assert.equal(parseInt(stdout), 42); assert.equal(stdout, '');
});
// assert that nothing is written to stdout
child.exec(nodejs + ' --eval console.log(42)',
function(err, stdout, stderr) {
assert.equal(stdout, '');
}); });
// assert that module loading works // assert that module loading works
@ -50,6 +56,6 @@ child.exec(nodejs + ' --eval "require(\'./test/simple/test-cli-eval.js\')"',
// empty program should do nothing // empty program should do nothing
child.exec(nodejs + ' -e ""', function(status, stdout, stderr) { child.exec(nodejs + ' -e ""', function(status, stdout, stderr) {
assert.equal(stdout, 'undefined\n'); assert.equal(stdout, '');
assert.equal(stderr, ''); assert.equal(stderr, '');
}); });

View File

@ -26,7 +26,7 @@ var exec = require('child_process').exec;
var success_count = 0; var success_count = 0;
var error_count = 0; var error_count = 0;
var cmd = [process.execPath, '-e', '"process.argv"', 'foo', 'bar'].join(' '); var cmd = [process.execPath, '-e', '"console.error(process.argv)"', 'foo', 'bar'].join(' ');
var expected = "[ '" + process.execPath + "',\n 'foo',\n 'bar' ]\n"; var expected = "[ '" + process.execPath + "',\n 'foo',\n 'bar' ]\n";
var child = exec(cmd, function(err, stdout, stderr) { var child = exec(cmd, function(err, stdout, stderr) {
if (err) { if (err) {
@ -34,7 +34,7 @@ var child = exec(cmd, function(err, stdout, stderr) {
++error_count; ++error_count;
return; return;
} }
assert.equal(stdout, expected); assert.equal(stderr, expected);
++success_count; ++success_count;
}); });