Skip to content

Commit 3e255df

Browse files
committed
test: remove cjs loader from stack traces
1 parent ec44403 commit 3e255df

File tree

57 files changed

+121
-277
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+121
-277
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { spawnPromisified } from '../common/index.mjs';
2+
import assert from 'node:assert';
3+
import { execPath } from 'node:process';
4+
import { describe, it } from 'node:test';
5+
6+
7+
describe('--trace-uncaught', () => {
8+
it('prints a trace on process exit for uncaught errors', async () => {
9+
const { code, signal, stderr } = await spawnPromisified(execPath, [
10+
'--trace-uncaught',
11+
'--eval',
12+
`throw {
13+
get stack() {
14+
throw new Error('weird throw but ok');
15+
},
16+
get name() {
17+
throw new Error('weird throw but ok');
18+
},
19+
};`,
20+
]);
21+
22+
assert.match(stderr, /Thrown at:/);
23+
assert.match(stderr, / at \[eval\]:1:1/);
24+
assert.strictEqual(code, 1);
25+
assert.strictEqual(signal, null);
26+
});
27+
});

test/errors/throw-null-traced.mjs

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { spawnPromisified } from '../common/index.mjs';
2+
import assert from 'node:assert';
3+
import { execPath } from 'node:process';
4+
import { describe, it } from 'node:test';
5+
6+
7+
describe('--trace-uncaught', () => {
8+
it('prints a trace on process exit for uncaught errors', async () => {
9+
const { code, signal, stderr } = await spawnPromisified(execPath, [
10+
'--trace-uncaught',
11+
'--eval',
12+
'throw null;',
13+
]);
14+
15+
assert.match(stderr, /Thrown at:/);
16+
assert.match(stderr, / at \[eval\]:1:1/);
17+
assert.strictEqual(code, 1);
18+
assert.strictEqual(signal, null);
19+
});
20+
});
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { spawnPromisified } from '../common/index.mjs';
2+
import assert from 'node:assert';
3+
import { execPath } from 'node:process';
4+
import { describe, it } from 'node:test';
5+
6+
7+
describe('--trace-uncaught', () => {
8+
it('prints a trace on process exit for uncaught errors', async () => {
9+
const { code, signal, stderr } = await spawnPromisified(execPath, [
10+
'--trace-uncaught',
11+
'--eval',
12+
'throw undefined;',
13+
]);
14+
15+
assert.match(stderr, /Thrown at:/);
16+
assert.match(stderr, / at \[eval\]:1:1/);
17+
assert.strictEqual(code, 1);
18+
assert.strictEqual(signal, null);
19+
});
20+
});

test/message/core_line_numbers.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
'use strict';
22
require('../common');
3+
Error.stackTraceLimit = 3;
4+
35
const punycode = require('punycode');
46

57
// This test verifies that line numbers in core modules are reported correctly.

test/message/core_line_numbers.out

-6
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,5 @@ RangeError: Invalid input
66
at error (node:punycode:52:8)
77
at Object.decode (node:punycode:*:*)
88
at Object.<anonymous> (*test*message*core_line_numbers.js:*:*)
9-
at Module._compile (node:internal/modules/cjs/loader:*:*)
10-
at Module._extensions..js (node:internal/modules/cjs/loader:*:*)
11-
at Module.load (node:internal/modules/cjs/loader:*:*)
12-
at Module._load (node:internal/modules/cjs/loader:*:*)
13-
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*)
14-
at node:internal/main/run_main_module:*:*
159

1610
Node.js *

test/message/error_aggregateTwoErrors.js

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
'use strict';
33

44
require('../common');
5+
Error.stackTraceLimit = 1;
6+
57
const { aggregateTwoErrors } = require('internal/errors');
68

79
const originalError = new Error('original');

test/message/error_aggregateTwoErrors.out

+3-22
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,15 @@
11
*error_aggregateTwoErrors.js:*
22
throw aggregateTwoErrors(err, originalError);
33
^
4-
AggregateError: original
5-
at Object.<anonymous> (*test*message*error_aggregateTwoErrors.js:*:*)
6-
at Module._compile (node:internal/modules/cjs/loader:*:*)
7-
at Module._extensions..js (node:internal/modules/cjs/loader:*:*)
8-
at Module.load (node:internal/modules/cjs/loader:*:*)
9-
at Module._load (node:internal/modules/cjs/loader:*:*)
10-
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*)
11-
at node:internal/main/run_main_module:*:* {
4+
[AggregateError: original] {
125
code: 'ERR0',
136
[errors]: [
147
Error: original
15-
at Object.<anonymous> (*test*message*error_aggregateTwoErrors.js:*:*)
16-
at Module._compile (node:internal/modules/cjs/loader:*:*)
17-
at Module._extensions..js (node:internal/modules/cjs/loader:*:*)
18-
at Module.load (node:internal/modules/cjs/loader:*:*)
19-
at Module._load (node:internal/modules/cjs/loader:*:*)
20-
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*)
21-
at node:internal/main/run_main_module:*:* {
8+
at Object.<anonymous> (/Users/geoffrey/Sites/node/test/message/error_aggregateTwoErrors.js:*:*) {
229
code: 'ERR0'
2310
},
2411
Error: second error
25-
at Object.<anonymous> (*test*message*error_aggregateTwoErrors.js:*:*)
26-
at Module._compile (node:internal/modules/cjs/loader:*:*)
27-
at Module._extensions..js (node:internal/modules/cjs/loader:*:*)
28-
at Module.load (node:internal/modules/cjs/loader:*:*)
29-
at Module._load (node:internal/modules/cjs/loader:*:*)
30-
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*)
31-
at node:internal/main/run_main_module:*:* {
12+
at Object.<anonymous> (/Users/geoffrey/Sites/node/test/message/error_aggregateTwoErrors.js:*:*) {
3213
code: 'ERR1'
3314
}
3415
]

test/message/error_exit.js

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121

2222
'use strict';
2323
require('../common');
24+
Error.stackTraceLimit = 1;
25+
2426
const assert = require('assert');
2527

2628
process.on('exit', function(code) {

test/message/error_exit.out

+1-7
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,7 @@ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
77

88
1 !== 2
99

10-
at Object.<anonymous> (*test*message*error_exit.js:*:*)
11-
at Module._compile (node:internal/modules/cjs/loader:*:*)
12-
at Module._extensions..js (node:internal/modules/cjs/loader:*:*)
13-
at Module.load (node:internal/modules/cjs/loader:*:*)
14-
at Module._load (node:internal/modules/cjs/loader:*:*)
15-
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*)
16-
at node:internal/main/run_main_module:*:* {
10+
at Object.<anonymous> (*test*message*error_exit.js:*:*) {
1711
generatedMessage: true,
1812
code: 'ERR_ASSERTION',
1913
actual: 1,

test/message/error_with_nul.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
'use strict';
22
require('../common');
3+
Error.stackTraceLimit = 2;
34

45
function test() {
56
const a = 'abc\0def';

test/message/error_with_nul.out

-382 Bytes
Binary file not shown.

test/message/events_unhandled_error_common_trace.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
'use strict';
22
require('../common');
3+
Error.stackTraceLimit = 2;
4+
35
const EventEmitter = require('events');
46

57
function foo() {

test/message/events_unhandled_error_common_trace.out

-10
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,8 @@ node:events:*
55
Error: foo:bar
66
at bar (*events_unhandled_error_common_trace.js:*:*)
77
at foo (*events_unhandled_error_common_trace.js:*:*)
8-
at Object.<anonymous> (*events_unhandled_error_common_trace.js:*:*)
9-
at Module._compile (node:internal/modules/cjs/loader:*:*)
10-
at Module._extensions..js (node:internal/modules/cjs/loader:*:*)
11-
at Module.load (node:internal/modules/cjs/loader:*:*)
12-
at Module._load (node:internal/modules/cjs/loader:*:*)
13-
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*)
14-
at node:internal/main/run_main_module:*:*
158
Emitted 'error' event at:
169
at quux (*events_unhandled_error_common_trace.js:*:*)
1710
at Object.<anonymous> (*events_unhandled_error_common_trace.js:*:*)
18-
at Module._compile (node:internal/modules/cjs/loader:*:*)
19-
[... lines matching original stack trace ...]
20-
at node:internal/main/run_main_module:*:*
2111

2212
Node.js *

test/message/events_unhandled_error_nexttick.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
'use strict';
22
require('../common');
3+
Error.stackTraceLimit = 1;
4+
35
const EventEmitter = require('events');
46
const er = new Error();
57
process.nextTick(() => {

test/message/events_unhandled_error_nexttick.out

-7
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,7 @@ node:events:*
44

55
Error
66
at Object.<anonymous> (*events_unhandled_error_nexttick.js:*:*)
7-
at Module._compile (node:internal/modules/cjs/loader:*:*)
8-
at Module._extensions..js (node:internal/modules/cjs/loader:*:*)
9-
at Module.load (node:internal/modules/cjs/loader:*:*)
10-
at Module._load (node:internal/modules/cjs/loader:*:*)
11-
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*)
12-
at node:internal/main/run_main_module:*:*
137
Emitted 'error' event at:
148
at *events_unhandled_error_nexttick.js:*:*
15-
at process.processTicksAndRejections (node:internal/process/task_queues:*:*)
169

1710
Node.js *
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
'use strict';
22
require('../common');
3+
Error.stackTraceLimit = 1;
4+
35
const EventEmitter = require('events');
46
new EventEmitter().emit('error', new Error());

test/message/events_unhandled_error_sameline.out

-9
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,7 @@ node:events:*
44

55
Error
66
at Object.<anonymous> (*events_unhandled_error_sameline.js:*:*)
7-
at Module._compile (node:internal/modules/cjs/loader:*:*)
8-
at Module._extensions..js (node:internal/modules/cjs/loader:*:*)
9-
at Module.load (node:internal/modules/cjs/loader:*:*)
10-
at Module._load (node:internal/modules/cjs/loader:*:*)
11-
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*)
12-
at node:internal/main/run_main_module:*:*
137
Emitted 'error' event at:
148
at Object.<anonymous> (*events_unhandled_error_sameline.js:*:*)
15-
at Module._compile (node:internal/modules/cjs/loader:*:*)
16-
[... lines matching original stack trace ...]
17-
at node:internal/main/run_main_module:*:*
189

1910
Node.js *
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
'use strict';
22
require('../common');
3+
Error.stackTraceLimit = 1;
4+
35
const EventEmitter = require('events');
46
class Foo extends EventEmitter {}
57
new Foo().emit('error', new Error());

test/message/events_unhandled_error_subclass.out

-9
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,7 @@ node:events:*
44

55
Error
66
at Object.<anonymous> (*events_unhandled_error_subclass.js:*:*)
7-
at Module._compile (node:internal/modules/cjs/loader:*:*)
8-
at Module._extensions..js (node:internal/modules/cjs/loader:*:*)
9-
at Module.load (node:internal/modules/cjs/loader:*:*)
10-
at Module._load (node:internal/modules/cjs/loader:*:*)
11-
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*)
12-
at node:internal/main/run_main_module:*:*
137
Emitted 'error' event on Foo instance at:
148
at Object.<anonymous> (*events_unhandled_error_subclass.js:*:*)
15-
at Module._compile (node:internal/modules/cjs/loader:*:*)
16-
[... lines matching original stack trace ...]
17-
at node:internal/main/run_main_module:*:*
189

1910
Node.js *

test/message/if-error-has-good-stack.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict';
22

33
require('../common');
4+
Error.stackTraceLimit = 4;
5+
46
const assert = require('assert');
57

68
let err;

test/message/if-error-has-good-stack.out

+2-14
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,14 @@ AssertionError [ERR_ASSERTION]: ifError got unwanted exception: test error
1010
at c (*if-error-has-good-stack.js:*:*)
1111
at b (*if-error-has-good-stack.js:*:*)
1212
at a (*if-error-has-good-stack.js:*:*)
13-
at Object.<anonymous> (*if-error-has-good-stack.js:*:*)
14-
at Module._compile (node:internal/modules/cjs/loader:*:*)
15-
at Module._extensions..js (node:internal/modules/cjs/loader:*:*)
16-
at Module.load (node:internal/modules/cjs/loader:*:*)
17-
at Module._load (node:internal/modules/cjs/loader:*:*)
18-
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*)
19-
at node:internal/main/run_main_module:*:* {
13+
at Object.<anonymous> (*if-error-has-good-stack.js:*:*) {
2014
generatedMessage: false,
2115
code: 'ERR_ASSERTION',
2216
actual: Error: test error
2317
at c (*if-error-has-good-stack.js:*:*)
2418
at b (*if-error-has-good-stack.js:*:*)
2519
at a (*if-error-has-good-stack.js:*:*)
26-
at Object.<anonymous> (*if-error-has-good-stack.js:*:*)
27-
at Module._compile (node:internal/modules/cjs/loader:*:*)
28-
at Module._extensions..js (node:internal/modules/cjs/loader:*:*)
29-
at Module.load (node:internal/modules/cjs/loader:*:*)
30-
at Module._load (node:internal/modules/cjs/loader:*:*)
31-
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*)
32-
at node:internal/main/run_main_module:*:*
20+
at Object.<anonymous> (*if-error-has-good-stack.js:*:*),
3321
expected: null,
3422
operator: 'ifError'
3523
}

test/message/source_map_disabled_by_api.js

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
'use strict';
44
require('../common');
5+
Error.stackTraceLimit = 5;
56

67
process.setSourceMapsEnabled(false);
78

test/message/source_map_disabled_by_api.out

-10
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,9 @@ Error: an error!
44
at functionB (*enclosing-call-site-min.js:1:60)
55
at functionA (*enclosing-call-site-min.js:1:26)
66
at Object.<anonymous> (*enclosing-call-site-min.js:1:199)
7-
at Module._compile (node:internal/modules/cjs/loader:*)
8-
at Module._extensions..js (node:internal/modules/cjs/loader:*)
9-
at Module.load (node:internal/modules/cjs/loader:*)
10-
at Module._load (node:internal/modules/cjs/loader:*)
11-
at Module.require (node:internal/modules/cjs/loader:*)
127
Error: an error!
138
at functionD (*enclosing-call-site.js:16:17)
149
at functionC (*enclosing-call-site.js:10:3)
1510
at functionB (*enclosing-call-site.js:6:3)
1611
at functionA (*enclosing-call-site.js:2:3)
1712
at Object.<anonymous> (*enclosing-call-site.js:24:3)
18-
at Module._compile (node:internal/modules/cjs/loader:*)
19-
at Module._extensions..js (node:internal/modules/cjs/loader:*)
20-
at Module.load (node:internal/modules/cjs/loader:*)
21-
at Module._load (node:internal/modules/cjs/loader:*)
22-
at Module.require (node:internal/modules/cjs/loader:*)

test/message/source_map_enabled_by_api.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
'use strict';
22
require('../common');
3+
Error.stackTraceLimit = 5;
34

45
process.setSourceMapsEnabled(true);
56

test/message/source_map_enabled_by_api.out

-10
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,9 @@ Error: an error!
44
at functionB (*enclosing-call-site.js:6:3)
55
at functionA (*enclosing-call-site.js:2:3)
66
at Object.<anonymous> (*enclosing-call-site.js:24:3)
7-
at Module._compile (node:internal/modules/cjs/loader:*)
8-
at Module._extensions..js (node:internal/modules/cjs/loader:*)
9-
at Module.load (node:internal/modules/cjs/loader:*)
10-
at Module._load (node:internal/modules/cjs/loader:*)
11-
at Module.require (node:internal/modules/cjs/loader:*)
127
Error: an error!
138
at functionD (*enclosing-call-site-min.js:1:156)
149
at functionC (*enclosing-call-site-min.js:1:97)
1510
at functionB (*enclosing-call-site-min.js:1:60)
1611
at functionA (*enclosing-call-site-min.js:1:26)
1712
at Object.<anonymous> (*enclosing-call-site-min.js:1:199)
18-
at Module._compile (node:internal/modules/cjs/loader:*)
19-
at Module._extensions..js (node:internal/modules/cjs/loader:*)
20-
at Module.load (node:internal/modules/cjs/loader:*)
21-
at Module._load (node:internal/modules/cjs/loader:*)
22-
at Module.require (node:internal/modules/cjs/loader:*)

test/message/source_map_enclosing_function.js

+2
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22

33
'use strict';
44
require('../common');
5+
Error.stackTraceLimit = 5;
6+
57
require('../fixtures/source-map/enclosing-call-site-min.js');

test/message/source_map_enclosing_function.out

-5
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,5 @@ Error: an error!
88
at functionB (*enclosing-call-site.js:6:3)
99
at functionA (*enclosing-call-site.js:2:3)
1010
at Object.<anonymous> (*enclosing-call-site.js:24:3)
11-
at Module._compile (node:internal/modules/cjs/loader:*)
12-
at Module._extensions..js (node:internal/modules/cjs/loader:*)
13-
at Module.load (node:internal/modules/cjs/loader:*)
14-
at Module._load (node:internal/modules/cjs/loader:*)
15-
at Module.require (node:internal/modules/cjs/loader:*)
1611

1712
Node.js *

test/message/source_map_eval.js

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
'use strict';
44
require('../common');
5+
Error.stackTraceLimit = 3;
6+
57
const fs = require('fs');
68

79
const content = fs.readFileSync(require.resolve('../fixtures/source-map/tabs.js'), 'utf8');

0 commit comments

Comments
 (0)