Skip to content

test_runner: add context subtests expectFailure only skip todo #74439

test_runner: add context subtests expectFailure only skip todo

test_runner: add context subtests expectFailure only skip todo #74439

Triggered via pull request April 8, 2026 21:42
Status Failure
Total duration 38m 21s
Artifacts

test-macos.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

4 errors, 1 warning, and 1 notice
test-macOS
Process completed with exit code 2.
test-macOS: test/test-runner/test-output-hooks.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines '- after() called\n' + 'TAP version 13\n' + '# Subtest: describe hooks\n' + ' # Subtest: 1\n' + ' ok 1 - 1\n' + ... '# Subtest: t.before throws - no subtests\n' + + 'not o'... 9026 more characters - 'not o'... 9088 more characters at assertSnapshot (/Users/runner/work/node/node/node/test/common/assertSnapshot.js:173:12) at async spawnAndAssert (/Users/runner/work/node/node/node/test/common/assertSnapshot.js:208:3) at async file:///Users/runner/work/node/node/node/test/test-runner/test-output-hooks.mjs:7:1 { generatedMessage: true, code: 'ERR_ASSERTION', actual: '- after() called\n' + 'TAP version 13\n' + '# Subtest: describe hooks\n' + ' # Subtest: 1\n' + ' ok 1 - 1\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + ' # Subtest: 2\n' + ' ok 2 - 2\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + ' # Subtest: nested\n' + ' # Subtest: nested 1\n' + ' ok 1 - nested 1\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + ' # Subtest: nested 2\n' + ' ok 2 - nested 2\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + ' 1..2\n' + ' ok 3 - nested\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'suite'\n" + ' ...\n' + ' 1..3\n' + 'ok 1 - describe hooks\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'suite'\n" + ' ...\n' + '# Subtest: describe hooks - no subtests\n' + 'ok 2 - describe hooks - no subtests\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'suite'\n" + ' ...\n' + '# Subtest: before throws\n' + ' # Subtest: 1\n' + ' not ok 1 - 1\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '<project-root>/test/fixtures/test-runner/output/hooks.js:74:3'\n" + " failureType: 'cancelledByParent'\n" + " error: 'test did not finish before its parent and was cancelled'\n" + " code: 'ERR_TEST_FAILURE'\n" + ' ...\n' + ' # Subtest: 2\n' + ' not ok 2 - 2\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '<project-root>/test/fixtures/test-runner/output/hooks.js:75:3'\n" + " failureType: 'cancelledByParent'\n" + " error: 'test did not finish before its parent and was cancelled'\n" + " code: 'ERR_TEST_FAILURE'\n" + ' ...\n' + ' 1..2\n' + 'not ok 3 - before throws\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'suite'\n" + " location: '<project-root>/test/fixtures/test-runner/output/hooks.js:72:1'\n" + " failureType: 'hookFailed'\n" + " error: 'before'\n" + " code: 'ERR_TEST_FAILURE'\n" + ' stack: |-\n' + ' SuiteContext.<anonymous> (<project-root>/test/fixtures/test-runner/output/hooks.js:73:24)\n' + ' <node-internal-frames>\n' + ' ...\n' + '# Subtest: before throws - no subtests\n' + 'not ok 4 - before throws - no subtests\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'suite'\n" + " location: '<project-root>/test/fixtures/test-runner/output/hooks.js:78:1'\n" + " failureType: 'hookFailed'\n" + " error: 'before'\n" + " code: 'ERR_TEST_FAILURE'\n" + ' stack: |-\n' + ' SuiteContext.<anonymous> (<project-root>/test/fixtures/test-runner/output/hooks.js:79:24)\n' + ' <node-internal-frames>\n' + ' ...\n' + '# Subtest: after throws\n' + ' # Subtest: 1\n' + ' ok 1 - 1\n' + ' ---\n' + ' duration_ms: *
test-macOS: test/test-runner/test-output-hooks-spec-reporter.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines '- after() called\n' + 'β–Ά describe hooks\n' + ' βœ” 1 (*ms)\n' + ' βœ” 2 (*ms)\n' + ' β–Ά nested\n' + ... ' at TestContext.<anonymous> (<project-root>/test/fixtures/test-runner/output/hooks.js:197:11)\n' + - ' at <node-internal-frames>\n' + '\n' + 'test at test/fixtures/test-runner/output/hooks.js:198:11\n' + 'βœ– 2 (*ms)\n' + ' Error: beforeEach\n' + ' at TestContext.<anonymous> (<project-root>/test/fixtures/test-runner/output/hooks.js:196:30)\n' + ' at <node-internal-frames>\n' + ' at TestContext.<anonymous> (<project-root>/test/fixtures/test-runner/output/hooks.js:198:11)\n' + - ' at <node-internal-frames>\n' + '\n' + 'test at test/fixtures/test-runner/output/hooks.js:204:11\n' + 'βœ– 1 (*ms)\n' + ' Error: afterEach\n' + ' at TestContext.<anonymous> (<project-root>/test/fixtures/test-runner/output/hooks.js:203:29)\n' + ... 'βœ– run after when before throws (*ms)\n' + + ' Error: before\n' + + ' at SuiteContext.<anonymous> (<project-root>/test/fixture'... 70 more characters - ' Error: befor'... 134 more characters at assertSnapshot (/Users/runner/work/node/node/node/test/common/assertSnapshot.js:173:12) at async spawnAndAssert (/Users/runner/work/node/node/node/test/common/assertSnapshot.js:208:3) at async file:///Users/runner/work/node/node/node/test/test-runner/test-output-hooks-spec-reporter.mjs:8:1 { generatedMessage: true, code: 'ERR_ASSERTION', actual: '- after() called\n' + 'β–Ά describe hooks\n' + ' βœ” 1 (*ms)\n' + ' βœ” 2 (*ms)\n' + ' β–Ά nested\n' + ' βœ” nested 1 (*ms)\n' + ' βœ” nested 2 (*ms)\n' + ' βœ” nested (*ms)\n' + 'βœ” describe hooks (*ms)\n' + 'βœ” describe hooks - no subtests (*ms)\n' + 'β–Ά before throws\n' + ' βœ– 1\n' + ' βœ– 2\n' + 'βœ– before throws (*ms)\n' + 'βœ– before throws - no subtests (*ms)\n' + 'β–Ά after throws\n' + ' βœ” 1 (*ms)\n' + ' βœ” 2 (*ms)\n' + 'βœ– after throws (*ms)\n' + 'βœ– after throws - no subtests (*ms)\n' + 'β–Ά beforeEach throws\n' + ' βœ– 1 (*ms)\n' + ' βœ– 2 (*ms)\n' + 'βœ– beforeEach throws (*ms)\n' + 'β–Ά afterEach throws\n' + ' βœ– 1 (*ms)\n' + ' βœ– 2 (*ms)\n' + 'βœ– afterEach throws (*ms)\n' + 'β–Ά afterEach when test fails\n' + ' βœ– 1 (*ms)\n' + ' βœ” 2 (*ms)\n' + 'βœ– afterEach when test fails (*ms)\n' + 'β–Ά afterEach throws and test fails\n' + ' βœ– 1 (*ms)\n' + ' βœ– 2 (*ms)\n' + 'βœ– afterEach throws and test fails (*ms)\n' + 'β–Ά test hooks\n' + ' βœ” 1 (*ms)\n' + ' βœ” 2 (*ms)\n' + ' β–Ά nested\n' + ' βœ” nested 1 (*ms)\n' + ' βœ” nested 2 (*ms)\n' + ' βœ” nested (*ms)\n' + 'βœ” test hooks (*ms)\n' + 'βœ” test hooks - no subtests (*ms)\n' + 'β–Ά t.before throws\n' + ' βœ– 1 (*ms)\n' + ' βœ– 2 (*ms)\n' + 'βœ– t.before throws (*ms)\n' + 'βœ– t.before throws - no subtests (*ms)\n' + 'β–Ά t.after throws\n' + ' βœ” 1 (*ms)\n' + ' βœ” 2 (*ms)\n' + 'βœ– t.after throws (*ms)\n' + 'βœ– t.after throws - no subtests (*ms)\n' + 'β–Ά t.beforeEach throws\n' + ' βœ– 1 (*ms)\n' + ' βœ– 2 (*ms)\n' + 'βœ– t.beforeEach throws (*ms)\n' + 'β–Ά t.afterEach throws\n' + ' βœ– 1 (*ms)\n' + ' βœ– 2 (*ms)\n' + 'βœ– t.afterEach throws (*ms)\n' + 'β–Ά afterEach when test fails\n' + ' βœ– 1 (*ms)\n' + ' βœ” 2 (*ms)\n' + 'βœ– afterEach when test fails (*ms)\n' + 'β–Ά afterEach context when test passes\n' + ' βœ” 1 (*ms)\n' + 'βœ” afterEach context when test passes (*ms)\n' + 'β–Ά afterEach context when test fails\n' + ' βœ– 1 (*ms)\n' + 'βœ– afterEach context when test fails (*ms)\n' + 'β–Ά afterEach throws a
test-macOS: test/parallel/test-runner-subtest-methods.js#L0
--- stdout --- Test failure: 'expectFailure subtest' Location: test/parallel/test-runner-subtest-methods.js:24:12 'test was expected to fail but passed' Command: out/Release/node --test-reporter=./test/common/test-error-reporter.js --test-reporter-destination=stdout /Users/runner/work/node/node/node/test/parallel/test-runner-subtest-methods.js
test-macOS
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: Mozilla-Actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
sccache stats
73% - 3541 hits, 1328 misses, 0 errors