| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 3d21bfe commit 6c803db
4 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -385,13 +385,9 @@ | |||
| 385 | 385 | 'return require("vm").runInThisContext(' + | |
| 386 | 386 | `${JSON.stringify(body)}, { filename: ` + | |
| 387 | 387 | `${JSON.stringify(name)}, displayErrors: true });\n`; | |
| 388 | - // Defer evaluation for a tick. This is a workaround for deferred | ||
| 389 | - // events not firing when evaluating scripts from the command line, | ||
| 390 | - // see https://github.com/nodejs/node/issues/1600. | ||
| 391 | - setImmediate(function() { | ||
| 392 | - const result = module._compile(script, `${name}-wrapper`); | ||
| 393 | - if (process._print_eval) console.log(result); | ||
| 394 | - }); | ||
| 388 | + const result = module._compile(script, `${name}-wrapper`); | ||
| 389 | + if (process._print_eval) console.log(result); | ||
| 390 | + process._tickCallback(); | ||
| 395 | 391 | } | |
| 396 | 392 | ||
| 397 | 393 | // Load preload modules | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3,14 +3,15 @@ | |||
| 3 | 3 | with(this){__filename} | |
| 4 | 4 | ^^^^ | |
| 5 | 5 | SyntaxError: Strict mode code may not include a with statement | |
| 6 | - at createScript (vm.js:*) | ||
| 7 | - at Object.runInThisContext (vm.js:*) | ||
| 6 | + at createScript (vm.js:*:*) | ||
| 7 | + at Object.runInThisContext (vm.js:*:*) | ||
| 8 | 8 | at Object.<anonymous> ([eval]-wrapper:*:*) | |
| 9 | 9 | at Module._compile (module.js:*:*) | |
| 10 | - at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 11 | - at runCallback (timers.js:*:*) | ||
| 12 | - at tryOnImmediate (timers.js:*:*) | ||
| 13 | - at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 10 | + at evalScript (bootstrap_node.js:*:*) | ||
| 11 | + at run (bootstrap_node.js:*:*) | ||
| 12 | + at run (bootstrap_node.js:*:*) | ||
| 13 | + at startup (bootstrap_node.js:*:*) | ||
| 14 | + at bootstrap_node.js:*:* | ||
| 14 | 15 | 42 | |
| 15 | 16 | 42 | |
| 16 | 17 | [eval]:1 | |
@@ -19,43 +20,47 @@ throw new Error("hello") | |||
| 19 | 20 | ||
| 20 | 21 | Error: hello | |
| 21 | 22 | at [eval]:1:7 | |
| 22 | - at ContextifyScript.Script.runInThisContext (vm.js:*) | ||
| 23 | - at Object.runInThisContext (vm.js:*) | ||
| 23 | + at ContextifyScript.Script.runInThisContext (vm.js:*:*) | ||
| 24 | + at Object.runInThisContext (vm.js:*:*) | ||
| 24 | 25 | at Object.<anonymous> ([eval]-wrapper:*:*) | |
| 25 | 26 | at Module._compile (module.js:*:*) | |
| 26 | - at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 27 | - at runCallback (timers.js:*:*) | ||
| 28 | - at tryOnImmediate (timers.js:*:*) | ||
| 29 | - at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 27 | + at evalScript (bootstrap_node.js:*:*) | ||
| 28 | + at run (bootstrap_node.js:*:*) | ||
| 29 | + at run (bootstrap_node.js:*:*) | ||
| 30 | + at startup (bootstrap_node.js:*:*) | ||
| 31 | + at bootstrap_node.js:*:* | ||
| 32 | + | ||
| 30 | 33 | [eval]:1 | |
| 31 | 34 | throw new Error("hello") | |
| 32 | 35 | ^ | |
| 33 | 36 | ||
| 34 | 37 | Error: hello | |
| 35 | 38 | at [eval]:1:7 | |
| 36 | - at ContextifyScript.Script.runInThisContext (vm.js:*) | ||
| 37 | - at Object.runInThisContext (vm.js:*) | ||
| 39 | + at ContextifyScript.Script.runInThisContext (vm.js:*:*) | ||
| 40 | + at Object.runInThisContext (vm.js:*:*) | ||
| 38 | 41 | at Object.<anonymous> ([eval]-wrapper:*:*) | |
| 39 | 42 | at Module._compile (module.js:*:*) | |
| 40 | - at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 41 | - at runCallback (timers.js:*:*) | ||
| 42 | - at tryOnImmediate (timers.js:*:*) | ||
| 43 | - at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 43 | + at evalScript (bootstrap_node.js:*:*) | ||
| 44 | + at run (bootstrap_node.js:*:*) | ||
| 45 | + at run (bootstrap_node.js:*:*) | ||
| 46 | + at startup (bootstrap_node.js:*:*) | ||
| 47 | + at bootstrap_node.js:*:* | ||
| 44 | 48 | 100 | |
| 45 | 49 | [eval]:1 | |
| 46 | 50 | var x = 100; y = x; | |
| 47 | 51 | ^ | |
| 48 | 52 | ||
| 49 | 53 | ReferenceError: y is not defined | |
| 50 | 54 | at [eval]:1:16 | |
| 51 | - at ContextifyScript.Script.runInThisContext (vm.js:*) | ||
| 52 | - at Object.runInThisContext (vm.js:*) | ||
| 55 | + at ContextifyScript.Script.runInThisContext (vm.js:*:*) | ||
| 56 | + at Object.runInThisContext (vm.js:*:*) | ||
| 53 | 57 | at Object.<anonymous> ([eval]-wrapper:*:*) | |
| 54 | 58 | at Module._compile (module.js:*:*) | |
| 55 | - at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 56 | - at runCallback (timers.js:*:*) | ||
| 57 | - at tryOnImmediate (timers.js:*:*) | ||
| 58 | - at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 59 | + at evalScript (bootstrap_node.js:*:*) | ||
| 60 | + at run (bootstrap_node.js:*:*) | ||
| 61 | + at run (bootstrap_node.js:*:*) | ||
| 62 | + at startup (bootstrap_node.js:*:*) | ||
| 63 | + at bootstrap_node.js:*:* | ||
| 59 | 64 | ||
| 60 | 65 | [eval]:1 | |
| 61 | 66 | var ______________________________________________; throw 10 | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -7,10 +7,12 @@ SyntaxError: Strict mode code may not include a with statement | |||
| 7 | 7 | at Object.runInThisContext (vm.js:*) | |
| 8 | 8 | at Object.<anonymous> ([stdin]-wrapper:*:*) | |
| 9 | 9 | at Module._compile (module.js:*:*) | |
| 10 | - at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 11 | - at runCallback (timers.js:*:*) | ||
| 12 | - at tryOnImmediate (timers.js:*:*) | ||
| 13 | - at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 10 | + at evalScript (bootstrap_node.js:*:*) | ||
| 11 | + at Socket.<anonymous> (bootstrap_node.js:*:*) | ||
| 12 | + at emitNone (events.js:*:*) | ||
| 13 | + at Socket.emit (events.js:*:*) | ||
| 14 | + at endReadableNT (_stream_readable.js:*:*) | ||
| 15 | + at _combinedTickCallback (internal/process/next_tick.js:*:*) | ||
| 14 | 16 | 42 | |
| 15 | 17 | 42 | |
| 16 | 18 | [stdin]:1 | |
@@ -23,10 +25,11 @@ Error: hello | |||
| 23 | 25 | at Object.runInThisContext (vm.js:*) | |
| 24 | 26 | at Object.<anonymous> ([stdin]-wrapper:*:*) | |
| 25 | 27 | at Module._compile (module.js:*:*) | |
| 26 | - at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 27 | - at runCallback (timers.js:*:*) | ||
| 28 | - at tryOnImmediate (timers.js:*:*) | ||
| 29 | - at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 28 | + at evalScript (bootstrap_node.js:*:*) | ||
| 29 | + at Socket.<anonymous> (bootstrap_node.js:*:*) | ||
| 30 | + at emitNone (events.js:*:*) | ||
| 31 | + at Socket.emit (events.js:*:*) | ||
| 32 | + at endReadableNT (_stream_readable.js:*:*) | ||
| 30 | 33 | [stdin]:1 | |
| 31 | 34 | throw new Error("hello") | |
| 32 | 35 | ^ | |
@@ -37,10 +40,11 @@ Error: hello | |||
| 37 | 40 | at Object.runInThisContext (vm.js:*) | |
| 38 | 41 | at Object.<anonymous> ([stdin]-wrapper:*:*) | |
| 39 | 42 | at Module._compile (module.js:*:*) | |
| 40 | - at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 41 | - at runCallback (timers.js:*:*) | ||
| 42 | - at tryOnImmediate (timers.js:*:*) | ||
| 43 | - at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 43 | + at evalScript (bootstrap_node.js:*:*) | ||
| 44 | + at Socket.<anonymous> (bootstrap_node.js:*:*) | ||
| 45 | + at emitNone (events.js:*:*) | ||
| 46 | + at Socket.emit (events.js:*:*) | ||
| 47 | + at endReadableNT (_stream_readable.js:*:*) | ||
| 44 | 48 | 100 | |
| 45 | 49 | [stdin]:1 | |
| 46 | 50 | var x = 100; y = x; | |
@@ -52,10 +56,11 @@ ReferenceError: y is not defined | |||
| 52 | 56 | at Object.runInThisContext (vm.js:*) | |
| 53 | 57 | at Object.<anonymous> ([stdin]-wrapper:*:*) | |
| 54 | 58 | at Module._compile (module.js:*:*) | |
| 55 | - at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 56 | - at runCallback (timers.js:*:*) | ||
| 57 | - at tryOnImmediate (timers.js:*:*) | ||
| 58 | - at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 59 | + at evalScript (bootstrap_node.js:*:*) | ||
| 60 | + at Socket.<anonymous> (bootstrap_node.js:*:*) | ||
| 61 | + at emitNone (events.js:*:*) | ||
| 62 | + at Socket.emit (events.js:*:*) | ||
| 63 | + at endReadableNT (_stream_readable.js:*:*) | ||
| 59 | 64 | ||
| 60 | 65 | [stdin]:1 | |
| 61 | 66 | var ______________________________________________; throw 10 | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -150,6 +150,25 @@ child.exec(`${nodejs} --use-strict -p process.execArgv`, | |||
| 150 | 150 | assert.strictEqual(proc.stdout, 'start\nbeforeExit\nexit\n'); | |
| 151 | 151 | } | |
| 152 | 152 | ||
| 153 | + // Regression test for https://github.com/nodejs/node/issues/11948. | ||
| 154 | + { | ||
| 155 | + const script = ` | ||
| 156 | + process.on('message', (message) => { | ||
| 157 | + if (message === 'ping') process.send('pong'); | ||
| 158 | + if (message === 'exit') process.disconnect(); | ||
| 159 | + }); | ||
| 160 | + `; | ||
| 161 | + const proc = child.fork('-e', [script]); | ||
| 162 | + proc.on('exit', common.mustCall((exitCode, signalCode) => { | ||
| 163 | + assert.strictEqual(exitCode, 0); | ||
| 164 | + assert.strictEqual(signalCode, null); | ||
| 165 | + })); | ||
| 166 | + proc.on('message', (message) => { | ||
| 167 | + if (message === 'pong') proc.send('exit'); | ||
| 168 | + }); | ||
| 169 | + proc.send('ping'); | ||
| 170 | + } | ||
| 171 | + | ||
| 153 | 172 | [ '-arg1', | |
| 154 | 173 | '-arg1 arg2 --arg3', | |
| 155 | 174 | '--', | |
| Back | FazBrowse Home | New Git URL |
0 commit comments