-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test_runner: fix global before not called when no global test exists
PR-URL: #48877 Backport-PR-URL: #49225 Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
- Loading branch information
1 parent
25e967a
commit 75333f3
Showing
4 changed files
with
133 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
84 changes: 84 additions & 0 deletions
84
test/fixtures/test-runner/output/hooks-with-no-global-test.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
'use strict'; | ||
const { test, describe, it, before, after, beforeEach, afterEach } = require('node:test'); | ||
const assert = require("assert"); | ||
|
||
// This file should not have any global tests to reproduce bug #48844 | ||
const testArr = []; | ||
|
||
before(() => testArr.push('global before')); | ||
after(() => { | ||
testArr.push('global after'); | ||
|
||
try { | ||
assert.deepStrictEqual(testArr, [ | ||
'global before', | ||
'describe before', | ||
|
||
'describe beforeEach', | ||
'describe it 1', | ||
'describe afterEach', | ||
|
||
'describe beforeEach', | ||
'describe test 2', | ||
'describe afterEach', | ||
|
||
'describe nested before', | ||
|
||
'describe beforeEach', | ||
'describe nested beforeEach', | ||
'describe nested it 1', | ||
'describe afterEach', | ||
'describe nested afterEach', | ||
|
||
'describe beforeEach', | ||
'describe nested beforeEach', | ||
'describe nested test 2', | ||
'describe afterEach', | ||
'describe nested afterEach', | ||
|
||
'describe nested after', | ||
'describe after', | ||
'global after', | ||
]); | ||
} catch (e) { | ||
// TODO(rluvaton): remove the try catch after #48867 is fixed | ||
console.error(e); | ||
process.exit(1); | ||
} | ||
}); | ||
|
||
describe('describe hooks with no global tests', () => { | ||
before(() => { | ||
testArr.push('describe before'); | ||
}); | ||
after(()=> { | ||
testArr.push('describe after'); | ||
}); | ||
beforeEach(() => { | ||
testArr.push('describe beforeEach'); | ||
}); | ||
afterEach(() => { | ||
testArr.push('describe afterEach'); | ||
}); | ||
|
||
it('1', () => testArr.push('describe it 1')); | ||
test('2', () => testArr.push('describe test 2')); | ||
|
||
describe('nested', () => { | ||
before(() => { | ||
testArr.push('describe nested before') | ||
}); | ||
after(() => { | ||
testArr.push('describe nested after') | ||
}); | ||
beforeEach(() => { | ||
testArr.push('describe nested beforeEach') | ||
}); | ||
afterEach(() => { | ||
testArr.push('describe nested afterEach') | ||
}); | ||
|
||
it('nested 1', () => testArr.push('describe nested it 1')); | ||
test('nested 2', () => testArr.push('describe nested test 2')); | ||
}); | ||
}); |
44 changes: 44 additions & 0 deletions
44
test/fixtures/test-runner/output/hooks-with-no-global-test.snapshot
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
TAP version 13 | ||
# Subtest: describe hooks with no global tests | ||
# Subtest: 1 | ||
ok 1 - 1 | ||
--- | ||
duration_ms: * | ||
... | ||
# Subtest: 2 | ||
ok 2 - 2 | ||
--- | ||
duration_ms: * | ||
... | ||
# Subtest: nested | ||
# Subtest: nested 1 | ||
ok 1 - nested 1 | ||
--- | ||
duration_ms: * | ||
... | ||
# Subtest: nested 2 | ||
ok 2 - nested 2 | ||
--- | ||
duration_ms: * | ||
... | ||
1..2 | ||
ok 3 - nested | ||
--- | ||
duration_ms: * | ||
type: 'suite' | ||
... | ||
1..3 | ||
ok 1 - describe hooks with no global tests | ||
--- | ||
duration_ms: * | ||
type: 'suite' | ||
... | ||
1..1 | ||
# tests 4 | ||
# suites 2 | ||
# pass 4 | ||
# fail 0 | ||
# cancelled 0 | ||
# skipped 0 | ||
# todo 0 | ||
# duration_ms * |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters