diff --git a/lib/internal/test_runner/test.js b/lib/internal/test_runner/test.js index 3172d1ec2b40a5..9ea04dfceba527 100644 --- a/lib/internal/test_runner/test.js +++ b/lib/internal/test_runner/test.js @@ -523,6 +523,7 @@ class Test extends AsyncResource { // The test has run, so recursively cancel any outstanding subtests and // mark this test as failed if any subtests failed. + this.pendingSubtests = []; for (let i = 0; i < this.subtests.length; i++) { const subtest = this.subtests[i]; diff --git a/test/message/test_runner_unresolved_promise.js b/test/message/test_runner_unresolved_promise.js index 00d231be34b6df..a36652669fc0a9 100644 --- a/test/message/test_runner_unresolved_promise.js +++ b/test/message/test_runner_unresolved_promise.js @@ -5,4 +5,4 @@ const test = require('node:test'); test('pass'); test('never resolving promise', () => new Promise(() => {})); -test('fail'); +test('fail', () => console.log('this should not appear')); diff --git a/test/message/test_runner_unresolved_promise.out b/test/message/test_runner_unresolved_promise.out index d4e868cc9ef3c3..2bb543cd4554fe 100644 --- a/test/message/test_runner_unresolved_promise.out +++ b/test/message/test_runner_unresolved_promise.out @@ -17,7 +17,7 @@ not ok 2 - never resolving promise # Subtest: fail not ok 3 - fail --- - duration_ms: * + duration_ms: 0 failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' code: 'ERR_TEST_FAILURE'