assert = require('assert'); child = require('child_process'); nodejs = process.execPath; if (module.parent) { // signal we've been loaded as a module console.log('Loaded as a module, exiting with status code 42.'); process.exit(42); } // assert that the result of the final expression is written to stdout child.exec(nodejs + ' --eval \'1337; 42\'', function(err, stdout, stderr) { assert.equal(parseInt(stdout), 42); }); // assert that module loading works child.exec(nodejs + ' --eval \'require("' + __filename + '")\'', function(status, stdout, stderr) { assert.equal(status.code, 42); }); // module path resolve bug, regression test child.exec(nodejs + ' --eval \'require("./test/simple/test-cli-eval.js")\'', function(status, stdout, stderr) { assert.equal(status.code, 42); });