From 193b8828c5b437b61d6310391fff6a9c6f393b0a Mon Sep 17 00:00:00 2001 From: Cre3per <12541974+Cre3per@users.noreply.github.com> Date: Wed, 26 Oct 2022 15:37:45 +0200 Subject: feat(cli): show error cause recursion information (#16384) --- cli/tests/integration/run_tests.rs | 6 ++++++ cli/tests/testdata/error_cause_recursive_aggregate.ts | 9 +++++++++ cli/tests/testdata/error_cause_recursive_aggregate.ts.out | 15 +++++++++++++++ cli/tests/testdata/error_cause_recursive_tail.ts.out | 5 ++--- cli/tests/testdata/run/error_cause_recursive.ts.out | 6 ++---- 5 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 cli/tests/testdata/error_cause_recursive_aggregate.ts create mode 100644 cli/tests/testdata/error_cause_recursive_aggregate.ts.out (limited to 'cli/tests') diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs index 67003a949..99e122c69 100644 --- a/cli/tests/integration/run_tests.rs +++ b/cli/tests/integration/run_tests.rs @@ -3460,6 +3460,12 @@ itest!(error_cause { exit_code: 1, }); +itest!(error_cause_recursive_aggregate { + args: "run error_cause_recursive_aggregate.ts", + output: "error_cause_recursive_aggregate.ts.out", + exit_code: 1, +}); + itest!(error_cause_recursive_tail { args: "run error_cause_recursive_tail.ts", output: "error_cause_recursive_tail.ts.out", diff --git a/cli/tests/testdata/error_cause_recursive_aggregate.ts b/cli/tests/testdata/error_cause_recursive_aggregate.ts new file mode 100644 index 000000000..4bb2ae064 --- /dev/null +++ b/cli/tests/testdata/error_cause_recursive_aggregate.ts @@ -0,0 +1,9 @@ +const foo = new Error("foo"); +const bar = new Error("bar", { cause: foo }); +foo.cause = bar; + +const qux = new Error("qux"); +const quux = new Error("quux", { cause: qux }); +qux.cause = quux; + +throw new AggregateError([bar, quux]); diff --git a/cli/tests/testdata/error_cause_recursive_aggregate.ts.out b/cli/tests/testdata/error_cause_recursive_aggregate.ts.out new file mode 100644 index 000000000..bf1e45e51 --- /dev/null +++ b/cli/tests/testdata/error_cause_recursive_aggregate.ts.out @@ -0,0 +1,15 @@ +[WILDCARD] +error: Uncaught AggregateError + Error: bar + at file:///[WILDCARD]/error_cause_recursive_aggregate.ts:2:13 + Caused by: Error: foo + at file:///[WILDCARD]/error_cause_recursive_aggregate.ts:1:13 + Caused by: [Circular *1] + Error: quux + at file:///[WILDCARD]/error_cause_recursive_aggregate.ts:6:14 + Caused by: Error: qux + at file:///[WILDCARD]/error_cause_recursive_aggregate.ts:5:13 + Caused by: [Circular *2] +throw new AggregateError([bar, quux]); + ^ + at file:///[WILDCARD]/error_cause_recursive_aggregate.ts:9:7 diff --git a/cli/tests/testdata/error_cause_recursive_tail.ts.out b/cli/tests/testdata/error_cause_recursive_tail.ts.out index 6aaecdb80..48b65d3f4 100644 --- a/cli/tests/testdata/error_cause_recursive_tail.ts.out +++ b/cli/tests/testdata/error_cause_recursive_tail.ts.out @@ -3,10 +3,9 @@ error: Uncaught Error: baz const baz = new Error("baz", { cause: bar }); ^ at file:///[WILDCARD]/error_cause_recursive_tail.ts:3:13 -Caused by: Error: bar +Caused by: Error: bar at file:///[WILDCARD]/error_cause_recursive_tail.ts:2:13 Caused by: Error: foo at file:///[WILDCARD]/error_cause_recursive_tail.ts:1:13 -Caused by: Error: bar - at file:///[WILDCARD]/error_cause_recursive_tail.ts:2:13 +Caused by: [Circular *1] [WILDCARD] diff --git a/cli/tests/testdata/run/error_cause_recursive.ts.out b/cli/tests/testdata/run/error_cause_recursive.ts.out index ac729574d..3ae440cf7 100644 --- a/cli/tests/testdata/run/error_cause_recursive.ts.out +++ b/cli/tests/testdata/run/error_cause_recursive.ts.out @@ -1,10 +1,8 @@ [WILDCARD] -error: Uncaught Error: bar +error: Uncaught Error: bar const y = new Error("bar", { cause: x }); ^ at file:///[WILDCARD]/error_cause_recursive.ts:2:11 Caused by: Error: foo at file:///[WILDCARD]/error_cause_recursive.ts:1:11 -Caused by: Error: bar - at file:///[WILDCARD]/error_cause_recursive.ts:2:11 -[WILDCARD] +Caused by: [Circular *1] -- cgit v1.2.3