@ -32,27 +32,27 @@ const fixtureD = fixture('define-global.js');
const fixtureThrows = fixture ( 'throws_error4.js' ) ;
const fixtureThrows = fixture ( 'throws_error4.js' ) ;
// test preloading a single module works
// test preloading a single module works
childProcess . exec ( nodeBinary + ' '
childProcess . exec ( nodeBinary + ' ' +
+ preloadOption ( [ fixtureA ] ) + ' '
preloadOption ( [ fixtureA ] ) + ' ' +
+ fixtureB ,
fixtureB ,
function ( err , stdout , stderr ) {
function ( err , stdout , stderr ) {
if ( err ) throw err ;
if ( err ) throw err ;
assert . strictEqual ( stdout , 'A\nB\n' ) ;
assert . strictEqual ( stdout , 'A\nB\n' ) ;
} ) ;
} ) ;
// test preloading multiple modules works
// test preloading multiple modules works
childProcess . exec ( nodeBinary + ' '
childProcess . exec ( nodeBinary + ' ' +
+ preloadOption ( [ fixtureA , fixtureB ] ) + ' '
preloadOption ( [ fixtureA , fixtureB ] ) + ' ' +
+ fixtureC ,
fixtureC ,
function ( err , stdout , stderr ) {
function ( err , stdout , stderr ) {
if ( err ) throw err ;
if ( err ) throw err ;
assert . strictEqual ( stdout , 'A\nB\nC\n' ) ;
assert . strictEqual ( stdout , 'A\nB\nC\n' ) ;
} ) ;
} ) ;
// test that preloading a throwing module aborts
// test that preloading a throwing module aborts
childProcess . exec ( nodeBinary + ' '
childProcess . exec ( nodeBinary + ' ' +
+ preloadOption ( [ fixtureA , fixtureThrows ] ) + ' '
preloadOption ( [ fixtureA , fixtureThrows ] ) + ' ' +
+ fixtureB ,
fixtureB ,
function ( err , stdout , stderr ) {
function ( err , stdout , stderr ) {
if ( err ) {
if ( err ) {
assert . strictEqual ( stdout , 'A\n' ) ;
assert . strictEqual ( stdout , 'A\n' ) ;
@ -62,9 +62,9 @@ childProcess.exec(nodeBinary + ' '
} ) ;
} ) ;
// test that preload can be used with --eval
// test that preload can be used with --eval
childProcess . exec ( nodeBinary + ' '
childProcess . exec ( nodeBinary + ' ' +
+ preloadOption ( [ fixtureA ] )
preloadOption ( [ fixtureA ] ) +
+ '-e "console.log(\'hello\');"',
'-e "console.log(\'hello\');"',
function ( err , stdout , stderr ) {
function ( err , stdout , stderr ) {
if ( err ) throw err ;
if ( err ) throw err ;
assert . strictEqual ( stdout , 'A\nhello\n' ) ;
assert . strictEqual ( stdout , 'A\nhello\n' ) ;
@ -108,19 +108,19 @@ replProc.on('close', function(code) {
// test that preload placement at other points in the cmdline
// test that preload placement at other points in the cmdline
// also test that duplicated preload only gets loaded once
// also test that duplicated preload only gets loaded once
childProcess . exec ( nodeBinary + ' '
childProcess . exec ( nodeBinary + ' ' +
+ preloadOption ( [ fixtureA ] )
preloadOption ( [ fixtureA ] ) +
+ '-e "console.log(\'hello\');" '
'-e "console.log(\'hello\');" ' +
+ preloadOption ( [ fixtureA , fixtureB ] ) ,
preloadOption ( [ fixtureA , fixtureB ] ) ,
function ( err , stdout , stderr ) {
function ( err , stdout , stderr ) {
if ( err ) throw err ;
if ( err ) throw err ;
assert . strictEqual ( stdout , 'A\nB\nhello\n' ) ;
assert . strictEqual ( stdout , 'A\nB\nhello\n' ) ;
} ) ;
} ) ;
// test that preload works with -i
// test that preload works with -i
const interactive = childProcess . exec ( nodeBinary + ' '
const interactive = childProcess . exec ( nodeBinary + ' ' +
+ preloadOption ( [ fixtureD ] )
preloadOption ( [ fixtureD ] ) +
+ '-i',
'-i',
common . mustCall ( function ( err , stdout , stderr ) {
common . mustCall ( function ( err , stdout , stderr ) {
assert . ifError ( err ) ;
assert . ifError ( err ) ;
assert . strictEqual ( stdout , "> 'test'\n> " ) ;
assert . strictEqual ( stdout , "> 'test'\n> " ) ;
@ -129,9 +129,9 @@ const interactive = childProcess.exec(nodeBinary + ' '
interactive . stdin . write ( 'a\n' ) ;
interactive . stdin . write ( 'a\n' ) ;
interactive . stdin . write ( 'process.exit()\n' ) ;
interactive . stdin . write ( 'process.exit()\n' ) ;
childProcess . exec ( nodeBinary + ' '
childProcess . exec ( nodeBinary + ' ' +
+ '--require ' + fixture ( 'cluster-preload.js' ) + ' '
'--require ' + fixture ( 'cluster-preload.js' ) + ' ' +
+ fixture ( 'cluster-preload-test.js' ) ,
fixture ( 'cluster-preload-test.js' ) ,
function ( err , stdout , stderr ) {
function ( err , stdout , stderr ) {
if ( err ) throw err ;
if ( err ) throw err ;
assert . ok ( /worker terminated with code 43/ . test ( stdout ) ) ;
assert . ok ( /worker terminated with code 43/ . test ( stdout ) ) ;
@ -139,10 +139,10 @@ childProcess.exec(nodeBinary + ' '
// https://github.com/nodejs/node/issues/1691
// https://github.com/nodejs/node/issues/1691
process . chdir ( common . fixturesDir ) ;
process . chdir ( common . fixturesDir ) ;
childProcess . exec ( nodeBinary + ' '
childProcess . exec ( nodeBinary + ' ' +
+ '--expose_debug_as=v8debug '
'--expose_debug_as=v8debug ' +
+ '--require ' + fixture ( 'cluster-preload.js' ) + ' '
'--require ' + fixture ( 'cluster-preload.js' ) + ' ' +
+ 'cluster-preload-test.js',
'cluster-preload-test.js',
function ( err , stdout , stderr ) {
function ( err , stdout , stderr ) {
if ( err ) throw err ;
if ( err ) throw err ;
assert . ok ( /worker terminated with code 43/ . test ( stdout ) ) ;
assert . ok ( /worker terminated with code 43/ . test ( stdout ) ) ;