From 5ec2d7bc5deed26ac640feff279800e39dacc9c0 Mon Sep 17 00:00:00 2001 From: Moshe Atlow Date: Sun, 31 Jul 2022 14:53:06 +0300 Subject: [PATCH] test_runner: empty pending tests queue post running PR-URL: https://github.com/nodejs/node/pull/44059 Reviewed-By: Antoine du Hamel Reviewed-By: Benjamin Gruenbaum --- lib/internal/test_runner/test.js | 1 + test/message/test_runner_unresolved_promise.js | 2 +- test/message/test_runner_unresolved_promise.out | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/internal/test_runner/test.js b/lib/internal/test_runner/test.js index 3172d1ec2b..9ea04dfceb 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 00d231be34..a36652669f 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 d4e868cc9e..2bb543cd45 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'