mirror of https://github.com/lukechilds/node.git
Browse Source
This reverts commit 7bde3f1a8f
.
The added test (test/parallel/test-preload.js) fails on Windows.
PR-URL: https://github.com/iojs/io.js/pull/1150
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
v1.8.0-commit
Chris Dickinson
10 years ago
7 changed files with 65 additions and 194 deletions
@ -1 +0,0 @@ |
|||
console.log('A') |
@ -1 +0,0 @@ |
|||
console.log('B') |
@ -1 +0,0 @@ |
|||
console.log('C') |
@ -1,75 +0,0 @@ |
|||
var common = require('../common'), |
|||
assert = require('assert'), |
|||
path = require('path'), |
|||
child_process = require('child_process'); |
|||
|
|||
var nodeBinary = process.argv[0]; |
|||
|
|||
var preloadOption = function(preloads) { |
|||
var option = ''; |
|||
preloads.forEach(function(preload, index) { |
|||
// TODO: randomly pick -r or --require
|
|||
option += '-r ' + preload + ' '; |
|||
}); |
|||
return option; |
|||
} |
|||
|
|||
var fixture = function(name) { |
|||
return path.join(__dirname, '../fixtures/' + name); |
|||
} |
|||
|
|||
var fixtureA = fixture('printA.js'); |
|||
var fixtureB = fixture('printB.js'); |
|||
var fixtureC = fixture('printC.js') |
|||
var fixtureThrows = fixture('throws_error4.js'); |
|||
|
|||
// test preloading a single module works
|
|||
child_process.exec(nodeBinary + ' ' |
|||
+ preloadOption([fixtureA]) + ' ' |
|||
+ fixtureB, |
|||
function(err, stdout, stderr) { |
|||
if (err) throw err; |
|||
assert.equal(stdout, 'A\nB\n'); |
|||
}); |
|||
|
|||
// test preloading multiple modules works
|
|||
child_process.exec(nodeBinary + ' ' |
|||
+ preloadOption([fixtureA, fixtureB]) + ' ' |
|||
+ fixtureC, |
|||
function(err, stdout, stderr) { |
|||
if (err) throw err; |
|||
assert.equal(stdout, 'A\nB\nC\n'); |
|||
}); |
|||
|
|||
// test that preloading a throwing module aborts
|
|||
child_process.exec(nodeBinary + ' ' |
|||
+ preloadOption([fixtureA, fixtureThrows]) + ' ' |
|||
+ fixtureB, |
|||
function(err, stdout, stderr) { |
|||
if (err) { |
|||
assert.equal(stdout, 'A\n'); |
|||
} else { |
|||
throw new Error('Preload should have failed'); |
|||
} |
|||
}); |
|||
|
|||
// test that preload can be used with --eval
|
|||
child_process.exec(nodeBinary + ' ' |
|||
+ preloadOption([fixtureA]) |
|||
+ '-e \'console.log("hello");\'', |
|||
function(err, stdout, stderr) { |
|||
if (err) throw err; |
|||
assert.equal(stdout, 'A\nhello\n'); |
|||
}); |
|||
|
|||
// test that preload placement at other points in the cmdline
|
|||
// also test that duplicated preload only gets loaded once
|
|||
child_process.exec(nodeBinary + ' ' |
|||
+ preloadOption([fixtureA]) |
|||
+ '-e \'console.log("hello");\' ' |
|||
+ preloadOption([fixtureA, fixtureB]), |
|||
function(err, stdout, stderr) { |
|||
if (err) throw err; |
|||
assert.equal(stdout, 'A\nB\nhello\n'); |
|||
}); |
|||
|
Loading…
Reference in new issue