Skip to content

Commit 393fd5b

Browse files
Yiyun Leitargos
Yiyun Lei
authored andcommitted
test: migrate message error tests from Python to JS
Migrate the remaining error tests in the `test/message` folder from Python to JS. Fixes: #47707 PR-URL: #49721 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
1 parent 27558c4 commit 393fd5b

29 files changed

+112
-101
lines changed

test/message/core_line_numbers.js test/fixtures/errors/core_line_numbers.js

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

55
const punycode = require('punycode');

test/message/core_line_numbers.out test/fixtures/errors/core_line_numbers.snapshot

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ node:punycode:52
44

55
RangeError: Invalid input
66
at error (node:punycode:52:8)
7-
at Object.decode (node:punycode:*:*)
8-
at Object.<anonymous> (*test*message*core_line_numbers.js:*:*)
7+
at Object.decode (node:punycode:245:5)
8+
at Object.<anonymous> (*core_line_numbers.js:13:10)
99

1010
Node.js *

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

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

3-
require('../common');
3+
require('../../common');
44
Error.stackTraceLimit = 4;
55

66
const assert = require('assert');

test/message/if-error-has-good-stack.out test/fixtures/errors/if-error-has-good-stack.snapshot

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ node:assert:*
33
^
44

55
AssertionError [ERR_ASSERTION]: ifError got unwanted exception: test error
6-
at z (*if-error-has-good-stack.js:*:*
6+
at z (*if-error-has-good-stack.js:*:*)
77
at y (*if-error-has-good-stack.js:*:*)
88
at x (*if-error-has-good-stack.js:*:*)
99
at Object.<anonymous> (*if-error-has-good-stack.js:*:*)

test/message/promise_unhandled_warn_with_error.js test/fixtures/errors/promise_unhandled_warn_with_error.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Flags: --unhandled-rejections=warn-with-error-code
22
'use strict';
33

4-
require('../common');
4+
require('../../common');
55
const assert = require('assert');
66

77
Promise.reject(new Error('alas'));
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
(node:*) UnhandledPromiseRejectionWarning: Error: alas
2+
at *
3+
at *
4+
at *
5+
at *
6+
at *
7+
at *
8+
at *
9+
(Use `node --trace-warnings ...` to show where the warning was created)
10+
(node:*) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https:*nodejs.org*api*cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Flags: --no-extra-info-on-fatal-exception
22

33
'use strict';
4-
require('../common');
4+
require('../../common');
55
Error.stackTraceLimit = 1;
66

77
throw new Error('foo');
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
*test-no-extra-info-on-fatal-exception.js:7
2+
throw new Error('foo');
3+
^
4+
5+
Error: foo
6+
at Object.<anonymous> (*test-no-extra-info-on-fatal-exception.js:7:7)

test/message/throw_error_with_getter_throw.js test/fixtures/errors/throw_error_with_getter_throw.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
'use strict';
2-
require('../common');
2+
require('../../common');
33
throw { // eslint-disable-line no-throw-literal
44
get stack() {
55
throw new Error('weird throw but ok');
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
*throw_error_with_getter_throw.js:*
3+
throw { * eslint-disable-line no-throw-literal
4+
^
5+
[object Object]
6+
(Use `node --trace-uncaught ...` to show where the exception was thrown)
7+
8+
Node.js *

test/message/throw_null.js test/fixtures/errors/throw_null.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
// USE OR OTHER DEALINGS IN THE SOFTWARE.
2121

2222
'use strict';
23-
require('../common');
23+
require('../../common');
2424

2525
// eslint-disable-next-line no-throw-literal
2626
throw null;
+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
*throw_null.js:*
3+
throw null;
4+
^
5+
null
6+
(Use `node --trace-uncaught ...` to show where the exception was thrown)
7+
8+
Node.js *

test/message/throw_undefined.js test/fixtures/errors/throw_undefined.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
// USE OR OTHER DEALINGS IN THE SOFTWARE.
2121

2222
'use strict';
23-
require('../common');
23+
require('../../common');
2424

2525
// eslint-disable-next-line no-throw-literal
2626
throw undefined;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
*throw_undefined.js:*
3+
throw undefined;
4+
^
5+
undefined
6+
(Use `node --trace-uncaught ...` to show where the exception was thrown)
7+
8+
Node.js *

test/message/timeout_throw.js test/fixtures/errors/timeout_throw.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
// USE OR OTHER DEALINGS IN THE SOFTWARE.
2121

2222
'use strict';
23-
require('../common');
23+
require('../../common');
2424

2525
setTimeout(function() {
2626
// eslint-disable-next-line no-undef,no-unused-expressions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
*timeout_throw.js:*
2+
undefined_reference_error_maker;
3+
^
4+
5+
ReferenceError: undefined_reference_error_maker is not defined
6+
at Timeout._onTimeout (*timeout_throw.js:*:*)
7+
at listOnTimeout (node:internal*timers:*:*)
8+
at process.processTimers (node:internal*timers:*:*)
9+
10+
Node.js *

test/message/undefined_reference_in_new_context.js test/fixtures/errors/undefined_reference_in_new_context.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
// USE OR OTHER DEALINGS IN THE SOFTWARE.
2121

2222
'use strict';
23-
require('../common');
23+
require('../../common');
2424
const vm = require('vm');
2525

2626
console.error('before');
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
before
2+
evalmachine.<anonymous>:*
3+
Error.stackTraceLimit = 5; foo.bar = 5;
4+
^
5+
6+
ReferenceError: foo is not defined
7+
at evalmachine.<anonymous>:*:*
8+
at Script.runInContext (node:vm:*:*)
9+
at Script.runInNewContext (node:vm:*:*)
10+
at Object.runInNewContext (node:vm:*:*)
11+
at Object.<anonymous> (*undefined_reference_in_new_context.js:*:*)
12+
13+
Node.js *
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Flags: --trace-warnings --unhandled-rejections=warn
22
'use strict';
3-
require('../common');
3+
require('../../common');
44
const p = Promise.reject(new Error('This was rejected'));
55
setImmediate(() => p.catch(() => {}));
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
(node:*) UnhandledPromiseRejectionWarning: Error: This was rejected
2+
at *
3+
at *
4+
at *
5+
at *
6+
at *
7+
at *
8+
at *
9+
at *
10+
at *
11+
at *
12+
(node:*) Error: This was rejected
13+
at *
14+
at *
15+
at *
16+
at *
17+
at *
18+
at *
19+
at *
20+
(node:*) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 1)
21+
at *
22+
at *
23+
at Promise.then (<anonymous>)
24+
at Promise.catch (<anonymous>)
25+
at *
26+
at *

test/message/promise_unhandled_warn_with_error.out

-10
This file was deleted.

test/message/test-no-extra-info-on-fatal-exception.out

-6
This file was deleted.

test/message/throw_error_with_getter_throw.out

-8
This file was deleted.

test/message/throw_null.out

-8
This file was deleted.

test/message/throw_undefined.out

-8
This file was deleted.

test/message/timeout_throw.out

-9
This file was deleted.

test/message/undefined_reference_in_new_context.out

-13
This file was deleted.

test/message/unhandled_promise_trace_warnings.out

-26
This file was deleted.

test/parallel/test-node-output-errors.mjs

+10
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,28 @@ describe('errors output', { concurrency: true }, () => {
4949
{ name: 'errors/async_error_microtask_main.js' },
5050
{ name: 'errors/async_error_nexttick_main.js' },
5151
{ name: 'errors/async_error_sync_main.js' },
52+
{ name: 'errors/core_line_numbers.js' },
5253
{ name: 'errors/async_error_sync_esm.mjs' },
54+
{ name: 'errors/test-no-extra-info-on-fatal-exception.js' },
5355
{ name: 'errors/error_aggregateTwoErrors.js', transform: errTransform },
5456
{ name: 'errors/error_exit.js', transform: errTransform },
5557
{ name: 'errors/error_with_nul.js', transform: errTransform },
5658
{ name: 'errors/events_unhandled_error_common_trace.js', transform: errTransform },
5759
{ name: 'errors/events_unhandled_error_nexttick.js', transform: errTransform },
5860
{ name: 'errors/events_unhandled_error_sameline.js', transform: errTransform },
5961
{ name: 'errors/events_unhandled_error_subclass.js', transform: errTransform },
62+
{ name: 'errors/if-error-has-good-stack.js', transform: errTransform },
6063
{ name: 'errors/throw_custom_error.js', transform: errTransform },
64+
{ name: 'errors/throw_error_with_getter_throw.js', transform: errTransform },
6165
{ name: 'errors/throw_in_line_with_tabs.js', transform: errTransform },
6266
{ name: 'errors/throw_non_error.js', transform: errTransform },
67+
{ name: 'errors/throw_null.js', transform: errTransform },
68+
{ name: 'errors/throw_undefined.js', transform: errTransform },
69+
{ name: 'errors/timeout_throw.js', transform: errTransform },
70+
{ name: 'errors/undefined_reference_in_new_context.js', transform: errTransform },
6371
{ name: 'errors/promise_always_throw_unhandled.js', transform: promiseTransform },
72+
{ name: 'errors/promise_unhandled_warn_with_error.js', transform: promiseTransform },
73+
{ name: 'errors/unhandled_promise_trace_warnings.js', transform: promiseTransform },
6474
{ skip: skipForceColors, name: 'errors/force_colors.js',
6575
transform: forceColorsTransform, env: { FORCE_COLOR: 1 } },
6676
];

0 commit comments

Comments
 (0)