test_runner: fixed to run after hook if before throws an error · nodejs/node@63db82a · GitHub
Skip to content

Commit 63db82a

Browse files
pulkit-30RafaelGSS
authored andcommitted
test_runner: fixed to run after hook if before throws an error
PR-URL: #51062 Refs: #50842 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Raz Luvaton <rluvaton@gmail.com>
1 parent 13a1241 commit 63db82a

4 files changed

Lines changed: 84 additions & 8 deletions

File tree

lib/internal/test_runner/test.js

Lines changed: 3 additions & 1 deletion

test/fixtures/test-runner/output/hooks.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,5 +166,13 @@ test('t.after() is called if test body throws', (t) => {
166166
throw new Error('bye');
167167
});
168168

169+
describe('run after when before throws', () => {
170+
after(common.mustCall(() => {
171+
console.log("- after() called")
172+
}));
173+
before(() => { throw new Error('before')});
174+
it('1', () => {});
175+
});
176+
169177
before((t) => t.diagnostic('before 2 called'));
170178
after((t) => t.diagnostic('after 2 called'));

test/fixtures/test-runner/output/hooks.snapshot

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
- after() called
12
TAP version 13
23
# Subtest: describe hooks
34
# Subtest: 1
@@ -568,16 +569,46 @@ not ok 14 - t.after() is called if test body throws
568569
*
569570
...
570571
# - after() called
571-
1..14
572+
# Subtest: run after when before throws
573+
# Subtest: 1
574+
not ok 1 - 1
575+
---
576+
duration_ms: *
577+
location: '/test/fixtures/test-runner/output/hooks.js:(LINE):3'
578+
failureType: 'cancelledByParent'
579+
error: 'test did not finish before its parent and was cancelled'
580+
code: 'ERR_TEST_FAILURE'
581+
...
582+
1..1
583+
not ok 15 - run after when before throws
584+
---
585+
duration_ms: *
586+
type: 'suite'
587+
location: '/test/fixtures/test-runner/output/hooks.js:(LINE):1'
588+
failureType: 'hookFailed'
589+
error: 'before'
590+
code: 'ERR_TEST_FAILURE'
591+
stack: |-
592+
*
593+
*
594+
*
595+
*
596+
*
597+
*
598+
*
599+
*
600+
*
601+
...
602+
1..15
572603
# before 1 called
573604
# before 2 called
574605
# after 1 called
575606
# after 2 called
576-
# tests 38
577-
# suites 8
607+
# tests 39
608+
# suites 9
578609
# pass 14
579610
# fail 22
580-
# cancelled 2
611+
# cancelled 3
581612
# skipped 0
582613
# todo 0
583614
# duration_ms *

test/fixtures/test-runner/output/hooks_spec_reporter.snapshot

Lines changed: 38 additions & 3 deletions

0 commit comments

Comments
 (0)