diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2022-12-06 15:58:18 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-06 15:58:18 -0500 |
commit | 5dbc07935d47eaad48ba0a7b1a816c644f9446cd (patch) | |
tree | 536acb528422897983836be30c72157750c372b2 /cli/tests | |
parent | c03e0f3853490e804fe30fc566b45150061badc9 (diff) |
fix(test): handle scenario where --trace-ops would cause an unhandled promise rejection (#16970)
Closes #16969
Diffstat (limited to 'cli/tests')
-rw-r--r-- | cli/tests/test_tests.rs | 6 | ||||
-rw-r--r-- | cli/tests/testdata/test/trace_ops_caught_error/main.out | 6 | ||||
-rw-r--r-- | cli/tests/testdata/test/trace_ops_caught_error/main.ts | 12 |
3 files changed, 24 insertions, 0 deletions
diff --git a/cli/tests/test_tests.rs b/cli/tests/test_tests.rs index 92b1c33c8..c8fa5b8e5 100644 --- a/cli/tests/test_tests.rs +++ b/cli/tests/test_tests.rs @@ -227,6 +227,12 @@ mod test { output: "test/ops_sanitizer_multiple_timeout_tests_no_trace.out", }); + itest!(trace_ops_catch_error { + args: "test -A --trace-ops test/trace_ops_caught_error/main.ts", + exit_code: 0, + output: "test/trace_ops_caught_error/main.out", + }); + // TODO(@littledivy): re-enable this test, recent optimizations made output non deterministic. // https://github.com/denoland/deno/issues/14268 // diff --git a/cli/tests/testdata/test/trace_ops_caught_error/main.out b/cli/tests/testdata/test/trace_ops_caught_error/main.out new file mode 100644 index 000000000..192ed3a6d --- /dev/null +++ b/cli/tests/testdata/test/trace_ops_caught_error/main.out @@ -0,0 +1,6 @@ +Check file:///[WILDCARD]/trace_ops_caught_error/main.ts +running 1 test from ./test/trace_ops_caught_error/main.ts +handle thrown error in async function ... ok ([WILDCARD]) + +ok | 1 passed | 0 failed ([WILDCARD]) + diff --git a/cli/tests/testdata/test/trace_ops_caught_error/main.ts b/cli/tests/testdata/test/trace_ops_caught_error/main.ts new file mode 100644 index 000000000..8194a8b2a --- /dev/null +++ b/cli/tests/testdata/test/trace_ops_caught_error/main.ts @@ -0,0 +1,12 @@ +Deno.test("handle thrown error in async function", async () => { + const dirPath = Deno.makeTempDirSync(); + const filePath = `${dirPath}/file.txt`; + try { + await Deno.stat(filePath); + } catch { + await Deno.writeTextFile(filePath, ""); + } finally { + await Deno.remove(filePath); + await Deno.remove(dirPath); + } +}); |