diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2023-09-15 16:46:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-15 15:46:48 +0000 |
commit | 11f0ccf8052065e37f92d8ba43e9624fcd3b9814 (patch) | |
tree | 03ab71902f8c30e2e5a15f95b9a7b2e10e3c3ab1 /cli | |
parent | d226970c0ed1e5a9691b7f22a91792b3e6955d9c (diff) |
fix(test): share fail fast tracker between threads (#20515)
Diffstat (limited to 'cli')
-rw-r--r-- | cli/tests/integration/test_tests.rs | 2 | ||||
-rw-r--r-- | cli/tests/testdata/test/fail_fast.out | 1 | ||||
-rw-r--r-- | cli/tests/testdata/test/fail_fast_other.ts | 3 | ||||
-rw-r--r-- | cli/tools/test/mod.rs | 3 |
4 files changed, 7 insertions, 2 deletions
diff --git a/cli/tests/integration/test_tests.rs b/cli/tests/integration/test_tests.rs index b4bf842ff..bcf3e4ef7 100644 --- a/cli/tests/integration/test_tests.rs +++ b/cli/tests/integration/test_tests.rs @@ -182,7 +182,7 @@ itest!(quiet { }); itest!(fail_fast { - args: "test --fail-fast test/fail_fast.ts", + args: "test --fail-fast test/fail_fast.ts test/fail_fast_other.ts", exit_code: 1, output: "test/fail_fast.out", }); diff --git a/cli/tests/testdata/test/fail_fast.out b/cli/tests/testdata/test/fail_fast.out index c0cf2df01..606d5b345 100644 --- a/cli/tests/testdata/test/fail_fast.out +++ b/cli/tests/testdata/test/fail_fast.out @@ -1,4 +1,5 @@ Check [WILDCARD]/test/fail_fast.ts +Check [WILDCARD]/test/fail_fast_other.ts running 10 tests from ./test/fail_fast.ts test 1 ... FAILED ([WILDCARD]) diff --git a/cli/tests/testdata/test/fail_fast_other.ts b/cli/tests/testdata/test/fail_fast_other.ts new file mode 100644 index 000000000..02aa878cf --- /dev/null +++ b/cli/tests/testdata/test/fail_fast_other.ts @@ -0,0 +1,3 @@ +Deno.test("test 11", () => { + throw new Error(); +}); diff --git a/cli/tools/test/mod.rs b/cli/tools/test/mod.rs index 0708e00c0..4426caec2 100644 --- a/cli/tools/test/mod.rs +++ b/cli/tools/test/mod.rs @@ -828,12 +828,13 @@ async fn test_specifiers( }); HAS_TEST_RUN_SIGINT_HANDLER.store(true, Ordering::Relaxed); let mut reporter = get_test_reporter(&options); + let fail_fast_tracker = FailFastTracker::new(options.fail_fast); let join_handles = specifiers.into_iter().map(move |specifier| { let worker_factory = worker_factory.clone(); let permissions = permissions.clone(); let sender = sender.clone(); - let fail_fast_tracker = FailFastTracker::new(options.fail_fast); + let fail_fast_tracker = fail_fast_tracker.clone(); let specifier_options = options.specifier.clone(); spawn_blocking(move || { create_and_run_current_thread(test_specifier( |