diff options
author | Matt Mastracci <matthew@mastracci.com> | 2024-03-13 20:49:54 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-13 20:49:54 -0600 |
commit | 1f3c4c976313904d5df0b33b2cc0e282e62d1000 (patch) | |
tree | f2413abe8965bfcb692f0d37fe5e12854aeeab39 /cli/tools/test | |
parent | bc782cee98096d2562d87c7a0b15051b6d0d6628 (diff) |
fix(cli): show asserts before leaks (#22904)
Fixes #22837
Diffstat (limited to 'cli/tools/test')
-rw-r--r-- | cli/tools/test/mod.rs | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/cli/tools/test/mod.rs b/cli/tools/test/mod.rs index a95590433..96f08ac1f 100644 --- a/cli/tools/test/mod.rs +++ b/cli/tools/test/mod.rs @@ -792,6 +792,19 @@ async fn run_tests_for_worker_inner( } }; + // Check the result before we check for leaks + let result = { + let scope = &mut worker.js_runtime.handle_scope(); + let result = v8::Local::new(scope, result); + serde_v8::from_v8::<TestResult>(scope, result)? + }; + if matches!(result, TestResult::Failed(_)) { + fail_fast_tracker.add_failure(); + let elapsed = earlier.elapsed().as_millis(); + sender.send(TestEvent::Result(desc.id, result, elapsed as u64))?; + continue; + } + // Await activity stabilization if let Some(diff) = wait_for_activity_to_stabilize( worker, @@ -806,6 +819,7 @@ async fn run_tests_for_worker_inner( let (formatted, trailer_notes) = format_sanitizer_diff(diff); if !formatted.is_empty() { let failure = TestFailure::Leaked(formatted, trailer_notes); + fail_fast_tracker.add_failure(); let elapsed = earlier.elapsed().as_millis(); sender.send(TestEvent::Result( desc.id, @@ -816,12 +830,6 @@ async fn run_tests_for_worker_inner( } } - let scope = &mut worker.js_runtime.handle_scope(); - let result = v8::Local::new(scope, result); - let result = serde_v8::from_v8::<TestResult>(scope, result)?; - if matches!(result, TestResult::Failed(_)) { - fail_fast_tracker.add_failure(); - } let elapsed = earlier.elapsed().as_millis(); sender.send(TestEvent::Result(desc.id, result, elapsed as u64))?; } |