diff --git a/src/node.js b/src/node.js index e16f13ecb0..11b391dab8 100644 --- a/src/node.js +++ b/src/node.js @@ -749,7 +749,11 @@ if (process.argv[1]) { process.argv[1] = path.join(cwd, process.argv[1]); } - module.runMain(); + // REMOVEME: nextTick should not be necessary. This hack to get + // test/simple/test-exception-handler2.js working. + process.nextTick(function() { + module.runMain(); + }); } else { // No arguments, run the repl var repl = module.requireNative('repl'); diff --git a/test/message/undefined_reference_in_new_context.out b/test/message/undefined_reference_in_new_context.out index e6796325a7..7d4e5c5b96 100644 --- a/test/message/undefined_reference_in_new_context.out +++ b/test/message/undefined_reference_in_new_context.out @@ -1,9 +1,8 @@ before - -*.js:* -*cript.runIn*Context(*); -*^ +node.js:* + throw e; + ^ ReferenceError: foo is not defined at evalmachine.:* at *test/message/undefined_reference_in_new_context.js:* @@ -11,4 +10,6 @@ ReferenceError: foo is not defined at Module._loadScriptSync (node.js:*) at Module.loadSync (node.js:*) at Object.runMain (node.js:*) + at Array. (node.js:*) + at EventEmitter._tickCallback (node.js:*) at node.js:* diff --git a/test/simple/test-exception-handler2.js b/test/simple/test-exception-handler2.js index f75bdaea11..868862a125 100644 --- a/test/simple/test-exception-handler2.js +++ b/test/simple/test-exception-handler2.js @@ -1,11 +1,21 @@ +common = require("../common"); +assert = common.assert + process.on('uncaughtException', function (err) { console.log('Caught exception: ' + err); }); +var timeoutFired = false; setTimeout(function () { console.log('This will still run.'); + timeoutFired = true; }, 500); +process.on('exit', function() { + assert.ok(timeoutFired); +}); + // Intentionally cause an exception, but don't catch it. nonexistentFunc(); console.log('This will not run.'); +