Skip to content

test_runner: support expecting a test-case to fail #1735

test_runner: support expecting a test-case to fail

test_runner: support expecting a test-case to fail #1735

Triggered via pull request December 21, 2025 10:05
Status Failure
Total duration 41m 48s
Artifacts 1

test-shared.yml

on: pull_request
Build slim tarball
1m 31s
Build slim tarball
Matrix: build
Fit to window
Zoom out
Zoom in

Annotations

30 errors
aarch64-linux: with shared libraries
Process completed with exit code 2.
aarch64-linux: with shared libraries: test/test-runner/test-output-spec-reporter-cli.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines + ' sync expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' sync expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' sync todo with expect fail (*ms) # TODO\n' + + ' sync skip expect fail (*ms) # SKIP\n' + + ' sync pass todo (*ms) # TODO\n' + - ' sync pass todo (*ms) # TODO\n' + ' sync pass todo with message (*ms) # this is a passing todo\n' + ' sync fail todo (*ms) # TODO\n' + ' sync fail todo with message (*ms) # this is a failing todo\n' + ' sync skip pass (*ms) # SKIP\n' + ' sync skip pass with message (*ms) # this is skipped\n' + ... ' invalid subtest fail (*ms)\n' + + ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:96:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:100:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:72:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:76:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + ' Error: A resource generated asynchronous activity after the test ended. This activity created the error "Error: uncaught from outside of a test" which triggered an uncaughtException event, caught by the test runner.\n' + + ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:104:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from immediate throw fail" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "immediate reject - passes but warns" at test/fixtures/test-runner/output/output.js:110:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from immediate reject fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "callback called twice in different ticks" at test/fixtures/test-runner/output/output.js:275:1 generated asynchronous activity after the test ended. This activity created the error "Error [ERR_TEST_FAILURE]: callback invoked multiple times" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "callback async throw after done" at test/fixtures/test-runner/output/output.js:293:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from callback async throw after done" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' tests 82\n' + - ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:80:1 generated asynchronous activity after the test ended. This
aarch64-linux: with shared libraries: test/test-runner/test-output-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 + ' sync expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' sync expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' sync todo with expect fail (*ms) # TODO\n' + + ' sync skip expect fail (*ms) # SKIP\n' + + ' sync pass todo (*ms) # TODO\n' + - ' sync pass todo (*ms) # TODO\n' + ' sync pass todo with message (*ms) # this is a passing todo\n' + ' sync fail todo (*ms) # TODO\n' + ' sync fail todo with message (*ms) # this is a failing todo\n' + ' sync skip pass (*ms) # SKIP\n' + ' sync skip pass with message (*ms) # this is skipped\n' + ... ' invalid subtest fail (*ms)\n' + + ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:96:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:100:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:72:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:76:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + ' Error: A resource generated asynchronous activity after the test ended. This activity created the error "Error: uncaught from outside of a test" which triggered an uncaughtException event, caught by the test runner.\n' + + ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:104:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from immediate throw fail" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "immediate reject - passes but warns" at test/fixtures/test-runner/output/output.js:110:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from immediate reject fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "callback called twice in different ticks" at test/fixtures/test-runner/output/output.js:275:1 generated asynchronous activity after the test ended. This activity created the error "Error [ERR_TEST_FAILURE]: callback invoked multiple times" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "callback async throw after done" at test/fixtures/test-runner/output/output.js:293:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from callback async throw after done" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' tests 81\n' + - ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:80:1 generated asynchronous activity after the test ended. This
aarch64-linux: with shared libraries: test/test-runner/test-output-output-cli.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines 'TAP version 13\n' + + '# Subtest: sync expect fail (method)\n' + + 'ok 1 - sync expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync expect fail (options)\n' + + 'ok 2 - sync expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (method)\n' + + 'ok 3 - async expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (options)\n' + + 'ok 4 - async expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync todo with expect fail\n' + + 'ok 5 - sync todo with expect fail # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync skip expect fail\n' + + 'ok 6 - sync skip expect fail # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + '# Subtest: sync pass todo\n' + + 'ok 7 - sync pass todo # TODO\n' + - 'ok 1 - sync pass todo # TODO\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync pass todo with message\n' + + 'ok 8 - sync pass todo with message # TODO this is a passing todo\n' + - 'ok 2 - sync pass todo with message # TODO this is a passing todo\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync fail todo\n' + + 'not ok 9 - sync fail todo # TODO\n' + - 'not ok 3 - sync fail todo # TODO\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + " failureType: 'testCodeFailure'\n" + ... '# Subtest: sync fail todo with message\n' + + 'not ok 10 - sync fail todo with message # TODO this is a failing todo\n' + - 'not ok 4 - sync fail todo with message # TODO this is a failing todo\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + " failureType: 'testCodeFailure'\n" + ... '# Subtest: sync skip pass\n' + + 'ok 11 - sync skip pass # SKIP\n' + - 'ok 5 - sync skip pass # SKIP\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync skip pass with message\n' + + 'ok 12 - sync skip pass with message # SKIP this is skipped\n' + - 'ok 6 - sync skip pass with message # SKIP this is skipped\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync pass\n' + + 'ok 13 - sync pass\n' + - 'ok 7 - sync pass\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# this test should pass\n' + '# Subtest: sync throw fail\n' + + 'not ok 14 - sync throw fail\n' + - 'not ok 8 - sync throw fail\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + " failureType: 'testCodeFailure'\n" + ... '# Subtest: async skip pass\n' + + 'ok 15 - async skip pass # SKIP\n' + - 'ok 9 - async skip pass # SKIP\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: async pass\n' + + 'ok 16 - async pass\n' + - 'ok 10 - async pass\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: async throw fail\n' + + 'not ok 17 - async throw fail\n' + - 'not ok 11 - async throw fail\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " lo
aarch64-linux: with shared libraries: test/test-runner/test-output-output.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + 'TAP version 13\n' + + '# Subtest: sync expect fail (method)\n' + + 'ok 1 - sync expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync expect fail (options)\n' + + 'ok 2 - sync expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (method)\n' + + 'ok 3 - async expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (options)\n' + + 'ok 4 - async expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync todo with expect fail\n' + + 'ok 5 - sync todo with expect fail # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync skip expect fail\n' + + 'ok 6 - sync skip expect fail # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync pass todo\n' + + 'ok 7 - sync pass todo # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync pass todo with message\n' + + 'ok 8 - sync pass todo with message # TODO this is a passing todo\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync fail todo\n' + + 'not ok 9 - sync fail todo # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + + " failureType: 'testCodeFailure'\n" + + " error: 'thrown from sync fail todo'\n" + + " code: 'ERR_TEST_FAILURE'\n" + + ' stack: |-\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' ...\n' + + '# Subtest: sync fail todo with message\n' + + 'not ok 10 - sync fail todo with message # TODO this is a failing todo\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + + " failureType: 'testCodeFailure'\n" + + " error: 'thrown from sync fail todo with message'\n" + + " code: 'ERR_TEST_FAILURE'\n" + + ' stack: |-\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' ...\n' + + '# Subtest: sync skip pass\n' + + 'ok 11 - sync skip pass # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync skip pass with message\n' + + 'ok 12 - sync skip pass with message # SKIP this is skipped\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync pass\n' + + 'ok 13 - sync pass\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# this test should pass\n' + + '# Subtest: sync throw fail\n' + + 'not ok 14 - sync throw fail\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + + " failureType: 'testCodeFailure'\n" + + " error: 'thrown from sync throw fail'\n" + + " code: 'ERR_TEST_FAILURE'\n" + + ' stack: |-\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' ...\n' + + '# Subtest: async skip pass\n' + + 'ok 15 - async skip pass # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async pass\n' + + 'ok 16 - async pass\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n
aarch64-linux: with shared libraries: test/test-runner/test-output-junit-reporter.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines '<?xml version="1.0" encoding="utf-8"?>\n' + '<testsuites>\n' + + '\t<testcase name="sync expect fail (method)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="sync expect fail (options)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="async expect fail (method)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="async expect fail (options)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="sync todo with expect fail" time="*" classname="test" file="*">\n' + + '\t\t<skipped type="todo" message="true"/>\n' + + '\t</testcase>\n' + + '\t<testcase name="sync skip expect fail" time="*" classname="test" file="*">\n' + + '\t\t<skipped type="skipped" message="true"/>\n' + + '\t</testcase>\n' + '\t<testcase name="sync pass todo" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync pass todo with message" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="this is a passing todo"/>\n' + ... '\t\t<failure type="callbackAndPromisePresent" message="passed a callback but also returned a Promise">\n' + + '[Error [ERR_TEST_FAILURE]: passed a callback but'... 12321 more characters - "[Error [ERR_TEST_FAILURE]: passed a callback but also returned a Promise] { code: 'ERR_TEST_FAILURE', failureType: 'callbackAndPromisePresent', cause: 'passed a callback but also returned a Promise' }\n" + - '\t\t</failure>\n' + - '\t</testcase>\n' + - '\t<testcase name="callback throw" time="*" classname="test" file="*" failure="thrown from callback throw">\n' + - '\t\t<failure type="testCodeFailure" message="thrown from callback throw">\n' + - '[Error [ERR_TEST_FAILURE]: thrown from callback throw] {\n' + - " code: 'ERR_TEST_FAILURE',\n" + - " failureType: 'testCodeFailure',\n" + - ' cause: Error: thrown from callback throw\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - '}\n' + - '\t\t</failure>\n' + - '\t</t'... 11723 more characters at assertSnapshot (/home/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:66:12) at async spawnAndAssert (/home/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:101:3) at async file:///home/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/test-runner/test-output-junit-reporter.mjs:8:1 { generatedMessage: true, code: 'ERR_ASSERTION', actual: '<?xml version="1.0" encoding="utf-8"?>\n' + '<testsuites>\n' + '\t<testcase name="sync expect fail (method)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="sync expect fail (options)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="async expect fail (method)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="async expect fail (options)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="sync todo with expect fail" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync skip expect fail" time="*" classname="test" file="*">\n' + '\t\t<skipped type="skipped" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync pass todo" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync pass todo with message" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="this is a passing todo"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync fail todo" time="*" classname="test" file="*" failure="thrown from sync fail todo">\n' + '\t\t<skipped type="todo" message="
aarch64-linux: with shared libraries: test/test-runner/test-output-lcov-reporter.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines 'TN:\n' + 'SF:test/fixtures/test-runner/output/output.js\n' + 'FN:8,anonymous_0\n' + 'FN:12,anonymous_1\n' + 'FN:16,anonymous_2\n' + + 'FN:20,anonymous_3\n' + + 'FN:24,anonymous_4\n' + + 'FN:28,anonymous_5\n' + + 'FN:32,anonymous_6\n' + + 'FN:36,anonymous_7\n' + + 'FN:40,anonymous_8\n' + + 'FN:45,anonymous_9\n' + - 'FN:21,anonymous_3\n' + - 'FN:26,anonymous_4\n' + - 'FN:30,anonymous_5\n' + - 'FN:34,anonymous_6\n' + - 'FN:38,anonymous_7\n' + - 'FN:42,anonymous_8\n' + - 'FN:46,anonymous_9\n' + 'FN:50,anonymous_10\n' + 'FN:54,anonymous_11\n' + + 'FN:58,anonymous_12\n' + + 'FN:62,anonymous_13\n' + + 'FN:66,anonymous_14\n' + + 'FN:70,anonymous_15\n' + + 'FN:74,anonymous_16\n' + + 'FN:78,anonymous_17\n' + + 'FN:83,anonymous_18\n' + + 'FN:88,anonymous_19\n' + + 'FN:92,anonymous_20\n' + + 'FN:96,anonymous_21\n' + + 'FN:100,anonymous_22\n' + + 'FN:104,anonymous_23\n' + + 'FN:105,anonymous_24\n' + + 'FN:110,anonymous_25\n' + + 'FN:111,anonymous_26\n' + + 'FN:116,anonymous_27\n' + + 'FN:117,anonymous_28\n' + + 'FN:118,anonymous_29\n' + + 'FN:124,anonymous_30\n' + + 'FN:125,anonymous_31\n' + + 'FN:131,anonymous_32\n' + + 'FN:135,anonymous_33\n' + + 'FN:136,anonymous_34\n' + + 'FN:137,anonymous_35\n' + + 'FN:138,anonymous_36\n' + + 'FN:146,anonymous_37\n' + + 'FN:147,anonymous_38\n' + + 'FN:154,anonymous_39\n' + + 'FN:155,anonymous_40\n' + + 'FN:156,anonymous_41\n' + + 'FN:164,anonymous_42\n' + + 'FN:165,anonymous_43\n' + - 'FN:59,anonymous_12\n' + - 'FN:64,anonymous_13\n' + - 'FN:68,anonymous_14\n' + - 'FN:72,anonymous_15\n' + - 'FN:76,anonymous_16\n' + - 'FN:80,anonymous_17\n' + - 'FN:81,anonymous_18\n' + - 'FN:86,anonymous_19\n' + - 'FN:87,anonymous_20\n' + - 'FN:92,anonymous_21\n' + - 'FN:93,anonymous_22\n' + - 'FN:94,anonymous_23\n' + - 'FN:100,anonymous_24\n' + - 'FN:101,anonymous_25\n' + - 'FN:107,anonymous_26\n' + - 'FN:111,anonymous_27\n' + - 'FN:112,anonymous_28\n' + - 'FN:113,anonymous_29\n' + - 'FN:114,anonymous_30\n' + - 'FN:122,anonymous_31\n' + - 'FN:123,anonymous_32\n' + - 'FN:130,anonymous_33\n' + - 'FN:131,anonymous_34\n' + - 'FN:132,anonymous_35\n' + - 'FN:140,anonymous_36\n' + - 'FN:141,anonymous_37\n' + - 'FN:142,anonymous_38\n' + - 'FN:150,anonymous_39\n' + - 'FN:151,anonymous_40\n' + - 'FN:159,anonymous_41\n' + - 'FN:160,anonymous_42\n' + - 'FN:161,anonymous_43\n' + 'FN:166,anonymous_44\n' + + 'FN:174,anonymous_45\n' + + 'FN:175,anonymous_46\n' + + 'FN:183,anonymous_47\n' + + 'FN:184,anonymous_48\n' + + 'FN:185,anonymous_49\n' + + 'FN:190,anonymous_50\n' + + 'FN:191,anonymous_51\n' + + 'FN:195,anonymous_52\n' + + 'FN:196,anonymous_53\n' + + 'FN:197,anonymous_54\n' + + 'FN:203,anonymous_55\n' + + 'FN:207,anonymous_56\n' + + 'FN:211,anonymous_57\n' + + 'FN:219,functionOnly\n' + + 'FN:222,anonymous_59\n' + + 'FN:237,functionAndOptions\n' + + 'FN:239,anonymous_61\n' + + 'FN:243,anonymous_62\n' + + 'FN:244,anonymous_63\n' + + 'FN:249,anonymous_64\n' + + 'FN:253,anonymous_65\n' + - 'FN:167,anonymous_45\n' + - 'FN:171,anonymous_46\n' + - 'FN:172,anonymous_47\n' + - 'FN:173,anonymous_48\n' + - 'FN:179,anonymous_49\n' + - 'FN:183,anonymous_50\n' + - 'FN:187,anonymous_51\n' + - 'FN:195,functionOnly\n' + - 'FN:198,anonymous_53\n' + - 'FN:213,functionAndOptions\n' + - 'FN:215,anonymous_55\n' + - 'FN:219,anonymous_56\n' + - 'FN:220,anonymous_57\n' + - 'FN:225,anonymous_58\n' + - 'FN:229,anonymous_59\n' + - 'FN:233,anonymous_60\n' + - 'FN:238,anonymous_61\n' + - 'FN:242,anonymous_62\n' + - 'FN:246,anonymous_63\n' + - 'FN:251,anonymous_64\n' + - 'FN:256,anonymous_65\n' + 'FN:257,anonymous_66\n' + + 'FN:262,anonymous_67\n' + + 'FN:266,anonymous_68\n' + + 'FN:2
aarch64-linux: with shared libraries: test/test-runner/test-output-dot-reporter.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + '........XX...X..XXX.\n' + + 'X.....XXX...........\n' + + '.X.........X...XXX.X\n' + + 'X.....XXXXXXX...XXXX\n' + + 'X\n' + - '..XX...X..XXX.X.....\n' + - 'XXX............X....\n' + - '.....X...XXX.XX.....\n' + - 'XXXXXXX...XXXXX\n' + '\n' + 'Failed tests:\n' + '\n' + 'βœ– sync fail todo (*ms) # TODO\n' + ' Error: thrown from sync fail todo\n' + at assertSnapshot (/home/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:66:12) at async spawnAndAssert (/home/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:101:3) at async file:///home/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/test-runner/test-output-dot-reporter.mjs:7:1 { generatedMessage: true, code: 'ERR_ASSERTION', actual: '........XX...X..XXX.\n' + 'X.....XXX...........\n' + '.X.........X...XXX.X\n' + 'X.....XXXXXXX...XXXX\n' + 'X\n' + '\n' + 'Failed tests:\n' + '\n' + 'βœ– sync fail todo (*ms) # TODO\n' + ' Error: thrown from sync fail todo\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– sync fail todo with message (*ms) # this is a failing todo\n' + ' Error: thrown from sync fail todo with message\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– sync throw fail (*ms)\n' + ' Error: thrown from sync throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– async throw fail (*ms)\n' + ' Error: thrown from async throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'οΉ£ async skip fail (*ms) # SKIP\n' + ' Error: thrown from async throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– async assertion fail (*ms)\n' + ' AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:\n' + ' \n' + ' true !== false\n' + ' \n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' * {\n' + ' generatedMessage: true,\n' + " code: 'ERR_ASSERTION',\n" + ' actual: true,\n' + ' expected: false,\n' + " operator: 'strictEqual',\n" + " diff: 'simple'\n" + ' }\n' + 'βœ– reject fail (*ms)\n' + ' Error: rejected from reject fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– +sync throw fail (*ms)\n' + ' Error: thrown from subtest sync throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– subtest sync throw fail (*ms)\n' + " '1 subtest failed'\n" + 'βœ– sync throw non-error fail (*ms)\n' + ' Symbol(thrown symbol from sync throw non-error fail)\n' + 'βœ– sync skip option is false fail (*ms)\n' + ' Error: this should be executed\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– callback fail (*ms)\n' + ' Error: callback failure\n' + ' *\n' + ' *\n' + 'βœ– callback also returns a Promise (*ms)\n' + " 'passed a callback but also returned a Promise'\n" + 'βœ– callback throw (*ms)\n' + ' Error: thrown from callback throw\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' +
aarch64-darwin: with shared libraries
Process completed with exit code 2.
aarch64-darwin: with shared libraries: test/test-runner/test-output-spec-reporter-cli.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines + ' sync expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' sync expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' sync todo with expect fail (*ms) # TODO\n' + + ' sync skip expect fail (*ms) # SKIP\n' + + ' sync pass todo (*ms) # TODO\n' + - ' sync pass todo (*ms) # TODO\n' + ' sync pass todo with message (*ms) # this is a passing todo\n' + ' sync fail todo (*ms) # TODO\n' + ' sync fail todo with message (*ms) # this is a failing todo\n' + ' sync skip pass (*ms) # SKIP\n' + ' sync skip pass with message (*ms) # this is skipped\n' + ... ' invalid subtest fail (*ms)\n' + + ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:96:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:100:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:72:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:76:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + ' Error: A resource generated asynchronous activity after the test ended. This activity created the error "Error: uncaught from outside of a test" which triggered an uncaughtException event, caught by the test runner.\n' + + ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:104:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from immediate throw fail" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "immediate reject - passes but warns" at test/fixtures/test-runner/output/output.js:110:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from immediate reject fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "callback called twice in different ticks" at test/fixtures/test-runner/output/output.js:275:1 generated asynchronous activity after the test ended. This activity created the error "Error [ERR_TEST_FAILURE]: callback invoked multiple times" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "callback async throw after done" at test/fixtures/test-runner/output/output.js:293:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from callback async throw after done" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' tests 82\n' + - ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:80:1 generated asynchronous activity after the test ended. This
aarch64-darwin: with shared libraries: test/test-runner/test-output-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 + ' sync expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' sync expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' sync todo with expect fail (*ms) # TODO\n' + + ' sync skip expect fail (*ms) # SKIP\n' + + ' sync pass todo (*ms) # TODO\n' + - ' sync pass todo (*ms) # TODO\n' + ' sync pass todo with message (*ms) # this is a passing todo\n' + ' sync fail todo (*ms) # TODO\n' + ' sync fail todo with message (*ms) # this is a failing todo\n' + ' sync skip pass (*ms) # SKIP\n' + ' sync skip pass with message (*ms) # this is skipped\n' + ... ' invalid subtest fail (*ms)\n' + + ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:96:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:100:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:72:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:76:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + ' Error: A resource generated asynchronous activity after the test ended. This activity created the error "Error: uncaught from outside of a test" which triggered an uncaughtException event, caught by the test runner.\n' + + ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:104:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from immediate throw fail" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "immediate reject - passes but warns" at test/fixtures/test-runner/output/output.js:110:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from immediate reject fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "callback called twice in different ticks" at test/fixtures/test-runner/output/output.js:275:1 generated asynchronous activity after the test ended. This activity created the error "Error [ERR_TEST_FAILURE]: callback invoked multiple times" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "callback async throw after done" at test/fixtures/test-runner/output/output.js:293:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from callback async throw after done" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' tests 81\n' + - ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:80:1 generated asynchronous activity after the test ended. This
aarch64-darwin: with shared libraries: test/test-runner/test-output-output-cli.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines 'TAP version 13\n' + + '# Subtest: sync expect fail (method)\n' + + 'ok 1 - sync expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync expect fail (options)\n' + + 'ok 2 - sync expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (method)\n' + + 'ok 3 - async expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (options)\n' + + 'ok 4 - async expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync todo with expect fail\n' + + 'ok 5 - sync todo with expect fail # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync skip expect fail\n' + + 'ok 6 - sync skip expect fail # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + '# Subtest: sync pass todo\n' + + 'ok 7 - sync pass todo # TODO\n' + - 'ok 1 - sync pass todo # TODO\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync pass todo with message\n' + + 'ok 8 - sync pass todo with message # TODO this is a passing todo\n' + - 'ok 2 - sync pass todo with message # TODO this is a passing todo\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync fail todo\n' + + 'not ok 9 - sync fail todo # TODO\n' + - 'not ok 3 - sync fail todo # TODO\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + " failureType: 'testCodeFailure'\n" + ... '# Subtest: sync fail todo with message\n' + + 'not ok 10 - sync fail todo with message # TODO this is a failing todo\n' + - 'not ok 4 - sync fail todo with message # TODO this is a failing todo\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + " failureType: 'testCodeFailure'\n" + ... '# Subtest: sync skip pass\n' + + 'ok 11 - sync skip pass # SKIP\n' + - 'ok 5 - sync skip pass # SKIP\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync skip pass with message\n' + + 'ok 12 - sync skip pass with message # SKIP this is skipped\n' + - 'ok 6 - sync skip pass with message # SKIP this is skipped\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync pass\n' + + 'ok 13 - sync pass\n' + - 'ok 7 - sync pass\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# this test should pass\n' + '# Subtest: sync throw fail\n' + + 'not ok 14 - sync throw fail\n' + - 'not ok 8 - sync throw fail\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + " failureType: 'testCodeFailure'\n" + ... '# Subtest: async skip pass\n' + + 'ok 15 - async skip pass # SKIP\n' + - 'ok 9 - async skip pass # SKIP\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: async pass\n' + + 'ok 16 - async pass\n' + - 'ok 10 - async pass\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: async throw fail\n' + + 'not ok 17 - async throw fail\n' + - 'not ok 11 - async throw fail\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " lo
aarch64-darwin: with shared libraries: test/test-runner/test-output-output.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + 'TAP version 13\n' + + '# Subtest: sync expect fail (method)\n' + + 'ok 1 - sync expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync expect fail (options)\n' + + 'ok 2 - sync expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (method)\n' + + 'ok 3 - async expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (options)\n' + + 'ok 4 - async expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync todo with expect fail\n' + + 'ok 5 - sync todo with expect fail # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync skip expect fail\n' + + 'ok 6 - sync skip expect fail # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync pass todo\n' + + 'ok 7 - sync pass todo # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync pass todo with message\n' + + 'ok 8 - sync pass todo with message # TODO this is a passing todo\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync fail todo\n' + + 'not ok 9 - sync fail todo # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + + " failureType: 'testCodeFailure'\n" + + " error: 'thrown from sync fail todo'\n" + + " code: 'ERR_TEST_FAILURE'\n" + + ' stack: |-\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' ...\n' + + '# Subtest: sync fail todo with message\n' + + 'not ok 10 - sync fail todo with message # TODO this is a failing todo\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + + " failureType: 'testCodeFailure'\n" + + " error: 'thrown from sync fail todo with message'\n" + + " code: 'ERR_TEST_FAILURE'\n" + + ' stack: |-\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' ...\n' + + '# Subtest: sync skip pass\n' + + 'ok 11 - sync skip pass # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync skip pass with message\n' + + 'ok 12 - sync skip pass with message # SKIP this is skipped\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync pass\n' + + 'ok 13 - sync pass\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# this test should pass\n' + + '# Subtest: sync throw fail\n' + + 'not ok 14 - sync throw fail\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + + " failureType: 'testCodeFailure'\n" + + " error: 'thrown from sync throw fail'\n" + + " code: 'ERR_TEST_FAILURE'\n" + + ' stack: |-\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' ...\n' + + '# Subtest: async skip pass\n' + + 'ok 15 - async skip pass # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async pass\n' + + 'ok 16 - async pass\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n
aarch64-darwin: with shared libraries: test/test-runner/test-output-junit-reporter.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines '<?xml version="1.0" encoding="utf-8"?>\n' + '<testsuites>\n' + + '\t<testcase name="sync expect fail (method)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="sync expect fail (options)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="async expect fail (method)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="async expect fail (options)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="sync todo with expect fail" time="*" classname="test" file="*">\n' + + '\t\t<skipped type="todo" message="true"/>\n' + + '\t</testcase>\n' + + '\t<testcase name="sync skip expect fail" time="*" classname="test" file="*">\n' + + '\t\t<skipped type="skipped" message="true"/>\n' + + '\t</testcase>\n' + '\t<testcase name="sync pass todo" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync pass todo with message" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="this is a passing todo"/>\n' + ... '\t\t<failure type="callbackAndPromisePresent" message="passed a callback but also returned a Promise">\n' + + '[Error [ERR_TEST_FAILURE]: passed a callback but'... 12321 more characters - "[Error [ERR_TEST_FAILURE]: passed a callback but also returned a Promise] { code: 'ERR_TEST_FAILURE', failureType: 'callbackAndPromisePresent', cause: 'passed a callback but also returned a Promise' }\n" + - '\t\t</failure>\n' + - '\t</testcase>\n' + - '\t<testcase name="callback throw" time="*" classname="test" file="*" failure="thrown from callback throw">\n' + - '\t\t<failure type="testCodeFailure" message="thrown from callback throw">\n' + - '[Error [ERR_TEST_FAILURE]: thrown from callback throw] {\n' + - " code: 'ERR_TEST_FAILURE',\n" + - " failureType: 'testCodeFailure',\n" + - ' cause: Error: thrown from callback throw\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - '}\n' + - '\t\t</failure>\n' + - '\t</t'... 11723 more characters at assertSnapshot (/Users/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:66:12) at async spawnAndAssert (/Users/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:101:3) at async file:///Users/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/test-runner/test-output-junit-reporter.mjs:8:1 { generatedMessage: true, code: 'ERR_ASSERTION', actual: '<?xml version="1.0" encoding="utf-8"?>\n' + '<testsuites>\n' + '\t<testcase name="sync expect fail (method)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="sync expect fail (options)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="async expect fail (method)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="async expect fail (options)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="sync todo with expect fail" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync skip expect fail" time="*" classname="test" file="*">\n' + '\t\t<skipped type="skipped" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync pass todo" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync pass todo with message" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="this is a passing todo"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync fail todo" time="*" classname="test" file="*" failure="thrown from sync fail todo">\n' + '\t\t<skipped type="todo" messag
aarch64-darwin: with shared libraries: test/test-runner/test-output-dot-reporter.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + '........XX...X..XXX.\n' + + 'X.....XXX...........\n' + + '.X.........X...XXX.X\n' + + 'X.....XXXXXXX...XXXX\n' + + 'X\n' + - '..XX...X..XXX.X.....\n' + - 'XXX............X....\n' + - '.....X...XXX.XX.....\n' + - 'XXXXXXX...XXXXX\n' + '\n' + 'Failed tests:\n' + '\n' + 'βœ– sync fail todo (*ms) # TODO\n' + ' Error: thrown from sync fail todo\n' + at assertSnapshot (/Users/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:66:12) at async spawnAndAssert (/Users/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:101:3) at async file:///Users/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/test-runner/test-output-dot-reporter.mjs:7:1 { generatedMessage: true, code: 'ERR_ASSERTION', actual: '........XX...X..XXX.\n' + 'X.....XXX...........\n' + '.X.........X...XXX.X\n' + 'X.....XXXXXXX...XXXX\n' + 'X\n' + '\n' + 'Failed tests:\n' + '\n' + 'βœ– sync fail todo (*ms) # TODO\n' + ' Error: thrown from sync fail todo\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– sync fail todo with message (*ms) # this is a failing todo\n' + ' Error: thrown from sync fail todo with message\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– sync throw fail (*ms)\n' + ' Error: thrown from sync throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– async throw fail (*ms)\n' + ' Error: thrown from async throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'οΉ£ async skip fail (*ms) # SKIP\n' + ' Error: thrown from async throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– async assertion fail (*ms)\n' + ' AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:\n' + ' \n' + ' true !== false\n' + ' \n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' * {\n' + ' generatedMessage: true,\n' + " code: 'ERR_ASSERTION',\n" + ' actual: true,\n' + ' expected: false,\n' + " operator: 'strictEqual',\n" + " diff: 'simple'\n" + ' }\n' + 'βœ– reject fail (*ms)\n' + ' Error: rejected from reject fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– +sync throw fail (*ms)\n' + ' Error: thrown from subtest sync throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– subtest sync throw fail (*ms)\n' + " '1 subtest failed'\n" + 'βœ– sync throw non-error fail (*ms)\n' + ' Symbol(thrown symbol from sync throw non-error fail)\n' + 'βœ– sync skip option is false fail (*ms)\n' + ' Error: this should be executed\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– callback fail (*ms)\n' + ' Error: callback failure\n' + ' *\n' + ' *\n' + 'βœ– callback also returns a Promise (*ms)\n' + " 'passed a callback but also returned a Promise'\n" + 'βœ– callback throw (*ms)\n' + ' Error: thrown from callback throw\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' +
x86_64-linux: with shared libraries
Process completed with exit code 2.
x86_64-linux: with shared libraries: test/test-runner/test-output-spec-reporter-cli.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines + ' sync expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' sync expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' sync todo with expect fail (*ms) # TODO\n' + + ' sync skip expect fail (*ms) # SKIP\n' + + ' sync pass todo (*ms) # TODO\n' + - ' sync pass todo (*ms) # TODO\n' + ' sync pass todo with message (*ms) # this is a passing todo\n' + ' sync fail todo (*ms) # TODO\n' + ' sync fail todo with message (*ms) # this is a failing todo\n' + ' sync skip pass (*ms) # SKIP\n' + ' sync skip pass with message (*ms) # this is skipped\n' + ... ' invalid subtest fail (*ms)\n' + + ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:96:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:100:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:72:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:76:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + ' Error: A resource generated asynchronous activity after the test ended. This activity created the error "Error: uncaught from outside of a test" which triggered an uncaughtException event, caught by the test runner.\n' + + ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:104:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from immediate throw fail" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "immediate reject - passes but warns" at test/fixtures/test-runner/output/output.js:110:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from immediate reject fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "callback called twice in different ticks" at test/fixtures/test-runner/output/output.js:275:1 generated asynchronous activity after the test ended. This activity created the error "Error [ERR_TEST_FAILURE]: callback invoked multiple times" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "callback async throw after done" at test/fixtures/test-runner/output/output.js:293:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from callback async throw after done" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' tests 82\n' + - ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:80:1 generated asynchronous activity after the test ended. This
x86_64-linux: with shared libraries: test/test-runner/test-output-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 + ' sync expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' sync expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' sync todo with expect fail (*ms) # TODO\n' + + ' sync skip expect fail (*ms) # SKIP\n' + + ' sync pass todo (*ms) # TODO\n' + - ' sync pass todo (*ms) # TODO\n' + ' sync pass todo with message (*ms) # this is a passing todo\n' + ' sync fail todo (*ms) # TODO\n' + ' sync fail todo with message (*ms) # this is a failing todo\n' + ' sync skip pass (*ms) # SKIP\n' + ' sync skip pass with message (*ms) # this is skipped\n' + ... ' invalid subtest fail (*ms)\n' + + ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:96:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:100:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:72:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:76:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + ' Error: A resource generated asynchronous activity after the test ended. This activity created the error "Error: uncaught from outside of a test" which triggered an uncaughtException event, caught by the test runner.\n' + + ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:104:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from immediate throw fail" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "immediate reject - passes but warns" at test/fixtures/test-runner/output/output.js:110:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from immediate reject fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "callback called twice in different ticks" at test/fixtures/test-runner/output/output.js:275:1 generated asynchronous activity after the test ended. This activity created the error "Error [ERR_TEST_FAILURE]: callback invoked multiple times" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "callback async throw after done" at test/fixtures/test-runner/output/output.js:293:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from callback async throw after done" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' tests 81\n' + - ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:80:1 generated asynchronous activity after the test ended. This
x86_64-linux: with shared libraries: test/test-runner/test-output-output-cli.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines 'TAP version 13\n' + + '# Subtest: sync expect fail (method)\n' + + 'ok 1 - sync expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync expect fail (options)\n' + + 'ok 2 - sync expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (method)\n' + + 'ok 3 - async expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (options)\n' + + 'ok 4 - async expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync todo with expect fail\n' + + 'ok 5 - sync todo with expect fail # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync skip expect fail\n' + + 'ok 6 - sync skip expect fail # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + '# Subtest: sync pass todo\n' + + 'ok 7 - sync pass todo # TODO\n' + - 'ok 1 - sync pass todo # TODO\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync pass todo with message\n' + + 'ok 8 - sync pass todo with message # TODO this is a passing todo\n' + - 'ok 2 - sync pass todo with message # TODO this is a passing todo\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync fail todo\n' + + 'not ok 9 - sync fail todo # TODO\n' + - 'not ok 3 - sync fail todo # TODO\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + " failureType: 'testCodeFailure'\n" + ... '# Subtest: sync fail todo with message\n' + + 'not ok 10 - sync fail todo with message # TODO this is a failing todo\n' + - 'not ok 4 - sync fail todo with message # TODO this is a failing todo\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + " failureType: 'testCodeFailure'\n" + ... '# Subtest: sync skip pass\n' + + 'ok 11 - sync skip pass # SKIP\n' + - 'ok 5 - sync skip pass # SKIP\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync skip pass with message\n' + + 'ok 12 - sync skip pass with message # SKIP this is skipped\n' + - 'ok 6 - sync skip pass with message # SKIP this is skipped\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync pass\n' + + 'ok 13 - sync pass\n' + - 'ok 7 - sync pass\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# this test should pass\n' + '# Subtest: sync throw fail\n' + + 'not ok 14 - sync throw fail\n' + - 'not ok 8 - sync throw fail\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + " failureType: 'testCodeFailure'\n" + ... '# Subtest: async skip pass\n' + + 'ok 15 - async skip pass # SKIP\n' + - 'ok 9 - async skip pass # SKIP\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: async pass\n' + + 'ok 16 - async pass\n' + - 'ok 10 - async pass\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: async throw fail\n' + + 'not ok 17 - async throw fail\n' + - 'not ok 11 - async throw fail\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " lo
x86_64-linux: with shared libraries: test/test-runner/test-output-output.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + 'TAP version 13\n' + + '# Subtest: sync expect fail (method)\n' + + 'ok 1 - sync expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync expect fail (options)\n' + + 'ok 2 - sync expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (method)\n' + + 'ok 3 - async expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (options)\n' + + 'ok 4 - async expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync todo with expect fail\n' + + 'ok 5 - sync todo with expect fail # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync skip expect fail\n' + + 'ok 6 - sync skip expect fail # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync pass todo\n' + + 'ok 7 - sync pass todo # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync pass todo with message\n' + + 'ok 8 - sync pass todo with message # TODO this is a passing todo\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync fail todo\n' + + 'not ok 9 - sync fail todo # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + + " failureType: 'testCodeFailure'\n" + + " error: 'thrown from sync fail todo'\n" + + " code: 'ERR_TEST_FAILURE'\n" + + ' stack: |-\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' ...\n' + + '# Subtest: sync fail todo with message\n' + + 'not ok 10 - sync fail todo with message # TODO this is a failing todo\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + + " failureType: 'testCodeFailure'\n" + + " error: 'thrown from sync fail todo with message'\n" + + " code: 'ERR_TEST_FAILURE'\n" + + ' stack: |-\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' ...\n' + + '# Subtest: sync skip pass\n' + + 'ok 11 - sync skip pass # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync skip pass with message\n' + + 'ok 12 - sync skip pass with message # SKIP this is skipped\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync pass\n' + + 'ok 13 - sync pass\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# this test should pass\n' + + '# Subtest: sync throw fail\n' + + 'not ok 14 - sync throw fail\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + + " failureType: 'testCodeFailure'\n" + + " error: 'thrown from sync throw fail'\n" + + " code: 'ERR_TEST_FAILURE'\n" + + ' stack: |-\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' ...\n' + + '# Subtest: async skip pass\n' + + 'ok 15 - async skip pass # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async pass\n' + + 'ok 16 - async pass\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n
x86_64-linux: with shared libraries: test/test-runner/test-output-junit-reporter.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines '<?xml version="1.0" encoding="utf-8"?>\n' + '<testsuites>\n' + + '\t<testcase name="sync expect fail (method)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="sync expect fail (options)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="async expect fail (method)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="async expect fail (options)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="sync todo with expect fail" time="*" classname="test" file="*">\n' + + '\t\t<skipped type="todo" message="true"/>\n' + + '\t</testcase>\n' + + '\t<testcase name="sync skip expect fail" time="*" classname="test" file="*">\n' + + '\t\t<skipped type="skipped" message="true"/>\n' + + '\t</testcase>\n' + '\t<testcase name="sync pass todo" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync pass todo with message" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="this is a passing todo"/>\n' + ... '\t\t<failure type="callbackAndPromisePresent" message="passed a callback but also returned a Promise">\n' + + '[Error [ERR_TEST_FAILURE]: passed a callback but'... 12321 more characters - "[Error [ERR_TEST_FAILURE]: passed a callback but also returned a Promise] { code: 'ERR_TEST_FAILURE', failureType: 'callbackAndPromisePresent', cause: 'passed a callback but also returned a Promise' }\n" + - '\t\t</failure>\n' + - '\t</testcase>\n' + - '\t<testcase name="callback throw" time="*" classname="test" file="*" failure="thrown from callback throw">\n' + - '\t\t<failure type="testCodeFailure" message="thrown from callback throw">\n' + - '[Error [ERR_TEST_FAILURE]: thrown from callback throw] {\n' + - " code: 'ERR_TEST_FAILURE',\n" + - " failureType: 'testCodeFailure',\n" + - ' cause: Error: thrown from callback throw\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - '}\n' + - '\t\t</failure>\n' + - '\t</t'... 11723 more characters at assertSnapshot (/home/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:66:12) at async spawnAndAssert (/home/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:101:3) at async file:///home/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/test-runner/test-output-junit-reporter.mjs:8:1 { generatedMessage: true, code: 'ERR_ASSERTION', actual: '<?xml version="1.0" encoding="utf-8"?>\n' + '<testsuites>\n' + '\t<testcase name="sync expect fail (method)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="sync expect fail (options)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="async expect fail (method)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="async expect fail (options)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="sync todo with expect fail" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync skip expect fail" time="*" classname="test" file="*">\n' + '\t\t<skipped type="skipped" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync pass todo" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync pass todo with message" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="this is a passing todo"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync fail todo" time="*" classname="test" file="*" failure="thrown from sync fail todo">\n' + '\t\t<skipped type="todo" message="
x86_64-linux: with shared libraries: test/test-runner/test-output-lcov-reporter.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines 'TN:\n' + 'SF:test/fixtures/test-runner/output/output.js\n' + 'FN:8,anonymous_0\n' + 'FN:12,anonymous_1\n' + 'FN:16,anonymous_2\n' + + 'FN:20,anonymous_3\n' + + 'FN:24,anonymous_4\n' + + 'FN:28,anonymous_5\n' + + 'FN:32,anonymous_6\n' + + 'FN:36,anonymous_7\n' + + 'FN:40,anonymous_8\n' + + 'FN:45,anonymous_9\n' + - 'FN:21,anonymous_3\n' + - 'FN:26,anonymous_4\n' + - 'FN:30,anonymous_5\n' + - 'FN:34,anonymous_6\n' + - 'FN:38,anonymous_7\n' + - 'FN:42,anonymous_8\n' + - 'FN:46,anonymous_9\n' + 'FN:50,anonymous_10\n' + 'FN:54,anonymous_11\n' + + 'FN:58,anonymous_12\n' + + 'FN:62,anonymous_13\n' + + 'FN:66,anonymous_14\n' + + 'FN:70,anonymous_15\n' + + 'FN:74,anonymous_16\n' + + 'FN:78,anonymous_17\n' + + 'FN:83,anonymous_18\n' + + 'FN:88,anonymous_19\n' + + 'FN:92,anonymous_20\n' + + 'FN:96,anonymous_21\n' + + 'FN:100,anonymous_22\n' + + 'FN:104,anonymous_23\n' + + 'FN:105,anonymous_24\n' + + 'FN:110,anonymous_25\n' + + 'FN:111,anonymous_26\n' + + 'FN:116,anonymous_27\n' + + 'FN:117,anonymous_28\n' + + 'FN:118,anonymous_29\n' + + 'FN:124,anonymous_30\n' + + 'FN:125,anonymous_31\n' + + 'FN:131,anonymous_32\n' + + 'FN:135,anonymous_33\n' + + 'FN:136,anonymous_34\n' + + 'FN:137,anonymous_35\n' + + 'FN:138,anonymous_36\n' + + 'FN:146,anonymous_37\n' + + 'FN:147,anonymous_38\n' + + 'FN:154,anonymous_39\n' + + 'FN:155,anonymous_40\n' + + 'FN:156,anonymous_41\n' + + 'FN:164,anonymous_42\n' + + 'FN:165,anonymous_43\n' + - 'FN:59,anonymous_12\n' + - 'FN:64,anonymous_13\n' + - 'FN:68,anonymous_14\n' + - 'FN:72,anonymous_15\n' + - 'FN:76,anonymous_16\n' + - 'FN:80,anonymous_17\n' + - 'FN:81,anonymous_18\n' + - 'FN:86,anonymous_19\n' + - 'FN:87,anonymous_20\n' + - 'FN:92,anonymous_21\n' + - 'FN:93,anonymous_22\n' + - 'FN:94,anonymous_23\n' + - 'FN:100,anonymous_24\n' + - 'FN:101,anonymous_25\n' + - 'FN:107,anonymous_26\n' + - 'FN:111,anonymous_27\n' + - 'FN:112,anonymous_28\n' + - 'FN:113,anonymous_29\n' + - 'FN:114,anonymous_30\n' + - 'FN:122,anonymous_31\n' + - 'FN:123,anonymous_32\n' + - 'FN:130,anonymous_33\n' + - 'FN:131,anonymous_34\n' + - 'FN:132,anonymous_35\n' + - 'FN:140,anonymous_36\n' + - 'FN:141,anonymous_37\n' + - 'FN:142,anonymous_38\n' + - 'FN:150,anonymous_39\n' + - 'FN:151,anonymous_40\n' + - 'FN:159,anonymous_41\n' + - 'FN:160,anonymous_42\n' + - 'FN:161,anonymous_43\n' + 'FN:166,anonymous_44\n' + + 'FN:174,anonymous_45\n' + + 'FN:175,anonymous_46\n' + + 'FN:183,anonymous_47\n' + + 'FN:184,anonymous_48\n' + + 'FN:185,anonymous_49\n' + + 'FN:190,anonymous_50\n' + + 'FN:191,anonymous_51\n' + + 'FN:195,anonymous_52\n' + + 'FN:196,anonymous_53\n' + + 'FN:197,anonymous_54\n' + + 'FN:203,anonymous_55\n' + + 'FN:207,anonymous_56\n' + + 'FN:211,anonymous_57\n' + + 'FN:219,functionOnly\n' + + 'FN:222,anonymous_59\n' + + 'FN:237,functionAndOptions\n' + + 'FN:239,anonymous_61\n' + + 'FN:243,anonymous_62\n' + + 'FN:244,anonymous_63\n' + + 'FN:249,anonymous_64\n' + + 'FN:253,anonymous_65\n' + - 'FN:167,anonymous_45\n' + - 'FN:171,anonymous_46\n' + - 'FN:172,anonymous_47\n' + - 'FN:173,anonymous_48\n' + - 'FN:179,anonymous_49\n' + - 'FN:183,anonymous_50\n' + - 'FN:187,anonymous_51\n' + - 'FN:195,functionOnly\n' + - 'FN:198,anonymous_53\n' + - 'FN:213,functionAndOptions\n' + - 'FN:215,anonymous_55\n' + - 'FN:219,anonymous_56\n' + - 'FN:220,anonymous_57\n' + - 'FN:225,anonymous_58\n' + - 'FN:229,anonymous_59\n' + - 'FN:233,anonymous_60\n' + - 'FN:238,anonymous_61\n' + - 'FN:242,anonymous_62\n' + - 'FN:246,anonymous_63\n' + - 'FN:251,anonymous_64\n' + - 'FN:256,anonymous_65\n' + 'FN:257,anonymous_66\n' + + 'FN:262,anonymous_67\n' + + 'FN:266,anonymous_68\n' + + 'FN:2
x86_64-linux: with shared libraries: test/test-runner/test-output-dot-reporter.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + '........XX...X..XXX.\n' + + 'X.....XXX...........\n' + + '.X.........X...XXX.X\n' + + 'X.....XXXXXXX...XXXX\n' + + 'X\n' + - '..XX...X..XXX.X.....\n' + - 'XXX............X....\n' + - '.....X...XXX.XX.....\n' + - 'XXXXXXX...XXXXX\n' + '\n' + 'Failed tests:\n' + '\n' + 'βœ– sync fail todo (*ms) # TODO\n' + ' Error: thrown from sync fail todo\n' + at assertSnapshot (/home/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:66:12) at async spawnAndAssert (/home/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:101:3) at async file:///home/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/test-runner/test-output-dot-reporter.mjs:7:1 { generatedMessage: true, code: 'ERR_ASSERTION', actual: '........XX...X..XXX.\n' + 'X.....XXX...........\n' + '.X.........X...XXX.X\n' + 'X.....XXXXXXX...XXXX\n' + 'X\n' + '\n' + 'Failed tests:\n' + '\n' + 'βœ– sync fail todo (*ms) # TODO\n' + ' Error: thrown from sync fail todo\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– sync fail todo with message (*ms) # this is a failing todo\n' + ' Error: thrown from sync fail todo with message\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– sync throw fail (*ms)\n' + ' Error: thrown from sync throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– async throw fail (*ms)\n' + ' Error: thrown from async throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'οΉ£ async skip fail (*ms) # SKIP\n' + ' Error: thrown from async throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– async assertion fail (*ms)\n' + ' AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:\n' + ' \n' + ' true !== false\n' + ' \n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' * {\n' + ' generatedMessage: true,\n' + " code: 'ERR_ASSERTION',\n" + ' actual: true,\n' + ' expected: false,\n' + " operator: 'strictEqual',\n" + " diff: 'simple'\n" + ' }\n' + 'βœ– reject fail (*ms)\n' + ' Error: rejected from reject fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– +sync throw fail (*ms)\n' + ' Error: thrown from subtest sync throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– subtest sync throw fail (*ms)\n' + " '1 subtest failed'\n" + 'βœ– sync throw non-error fail (*ms)\n' + ' Symbol(thrown symbol from sync throw non-error fail)\n' + 'βœ– sync skip option is false fail (*ms)\n' + ' Error: this should be executed\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– callback fail (*ms)\n' + ' Error: callback failure\n' + ' *\n' + ' *\n' + 'βœ– callback also returns a Promise (*ms)\n' + " 'passed a callback but also returned a Promise'\n" + 'βœ– callback throw (*ms)\n' + ' Error: thrown from callback throw\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' +
x86_64-darwin: with shared libraries
Process completed with exit code 2.
x86_64-darwin: with shared libraries: test/test-runner/test-output-spec-reporter-cli.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines + ' sync expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' sync expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' sync todo with expect fail (*ms) # TODO\n' + + ' sync skip expect fail (*ms) # SKIP\n' + + ' sync pass todo (*ms) # TODO\n' + - ' sync pass todo (*ms) # TODO\n' + ' sync pass todo with message (*ms) # this is a passing todo\n' + ' sync fail todo (*ms) # TODO\n' + ' sync fail todo with message (*ms) # this is a failing todo\n' + ' sync skip pass (*ms) # SKIP\n' + ' sync skip pass with message (*ms) # this is skipped\n' + ... ' invalid subtest fail (*ms)\n' + + ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:96:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:100:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:72:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:76:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + ' Error: A resource generated asynchronous activity after the test ended. This activity created the error "Error: uncaught from outside of a test" which triggered an uncaughtException event, caught by the test runner.\n' + + ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:104:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from immediate throw fail" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "immediate reject - passes but warns" at test/fixtures/test-runner/output/output.js:110:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from immediate reject fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "callback called twice in different ticks" at test/fixtures/test-runner/output/output.js:275:1 generated asynchronous activity after the test ended. This activity created the error "Error [ERR_TEST_FAILURE]: callback invoked multiple times" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "callback async throw after done" at test/fixtures/test-runner/output/output.js:293:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from callback async throw after done" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' tests 82\n' + - ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:80:1 generated asynchronous activity after the test ended. This
x86_64-darwin: with shared libraries: test/test-runner/test-output-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 + ' sync expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' sync expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (method) (*ms) # EXPECTED FAILURE\n' + + ' async expect fail (options) (*ms) # EXPECTED FAILURE\n' + + ' sync todo with expect fail (*ms) # TODO\n' + + ' sync skip expect fail (*ms) # SKIP\n' + + ' sync pass todo (*ms) # TODO\n' + - ' sync pass todo (*ms) # TODO\n' + ' sync pass todo with message (*ms) # this is a passing todo\n' + ' sync fail todo (*ms) # TODO\n' + ' sync fail todo with message (*ms) # this is a failing todo\n' + ' sync skip pass (*ms) # SKIP\n' + ' sync skip pass with message (*ms) # this is skipped\n' + ... ' invalid subtest fail (*ms)\n' + + ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:96:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:100:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:72:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + - ' Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:76:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + ' Error: A resource generated asynchronous activity after the test ended. This activity created the error "Error: uncaught from outside of a test" which triggered an uncaughtException event, caught by the test runner.\n' + + ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:104:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from immediate throw fail" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "immediate reject - passes but warns" at test/fixtures/test-runner/output/output.js:110:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from immediate reject fail" and would have caused the test to fail, but instead triggered an unhandledRejection event.\n' + + ' Error: Test "callback called twice in different ticks" at test/fixtures/test-runner/output/output.js:275:1 generated asynchronous activity after the test ended. This activity created the error "Error [ERR_TEST_FAILURE]: callback invoked multiple times" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' Error: Test "callback async throw after done" at test/fixtures/test-runner/output/output.js:293:1 generated asynchronous activity after the test ended. This activity created the error "Error: thrown from callback async throw after done" and would have caused the test to fail, but instead triggered an uncaughtException event.\n' + + ' tests 81\n' + - ' Error: Test "immediate throw - passes but warns" at test/fixtures/test-runner/output/output.js:80:1 generated asynchronous activity after the test ended. This
x86_64-darwin: with shared libraries: test/test-runner/test-output-output-cli.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines 'TAP version 13\n' + + '# Subtest: sync expect fail (method)\n' + + 'ok 1 - sync expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync expect fail (options)\n' + + 'ok 2 - sync expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (method)\n' + + 'ok 3 - async expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (options)\n' + + 'ok 4 - async expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync todo with expect fail\n' + + 'ok 5 - sync todo with expect fail # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync skip expect fail\n' + + 'ok 6 - sync skip expect fail # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + '# Subtest: sync pass todo\n' + + 'ok 7 - sync pass todo # TODO\n' + - 'ok 1 - sync pass todo # TODO\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync pass todo with message\n' + + 'ok 8 - sync pass todo with message # TODO this is a passing todo\n' + - 'ok 2 - sync pass todo with message # TODO this is a passing todo\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync fail todo\n' + + 'not ok 9 - sync fail todo # TODO\n' + - 'not ok 3 - sync fail todo # TODO\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + " failureType: 'testCodeFailure'\n" + ... '# Subtest: sync fail todo with message\n' + + 'not ok 10 - sync fail todo with message # TODO this is a failing todo\n' + - 'not ok 4 - sync fail todo with message # TODO this is a failing todo\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + " failureType: 'testCodeFailure'\n" + ... '# Subtest: sync skip pass\n' + + 'ok 11 - sync skip pass # SKIP\n' + - 'ok 5 - sync skip pass # SKIP\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync skip pass with message\n' + + 'ok 12 - sync skip pass with message # SKIP this is skipped\n' + - 'ok 6 - sync skip pass with message # SKIP this is skipped\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: sync pass\n' + + 'ok 13 - sync pass\n' + - 'ok 7 - sync pass\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# this test should pass\n' + '# Subtest: sync throw fail\n' + + 'not ok 14 - sync throw fail\n' + - 'not ok 8 - sync throw fail\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + " failureType: 'testCodeFailure'\n" + ... '# Subtest: async skip pass\n' + + 'ok 15 - async skip pass # SKIP\n' + - 'ok 9 - async skip pass # SKIP\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: async pass\n' + + 'ok 16 - async pass\n' + - 'ok 10 - async pass\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + ' ...\n' + '# Subtest: async throw fail\n' + + 'not ok 17 - async throw fail\n' + - 'not ok 11 - async throw fail\n' + ' ---\n' + ' duration_ms: *\n' + " type: 'test'\n" + " lo
x86_64-darwin: with shared libraries: test/test-runner/test-output-output.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + 'TAP version 13\n' + + '# Subtest: sync expect fail (method)\n' + + 'ok 1 - sync expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync expect fail (options)\n' + + 'ok 2 - sync expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (method)\n' + + 'ok 3 - async expect fail (method) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async expect fail (options)\n' + + 'ok 4 - async expect fail (options) # EXPECTED FAILURE\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync todo with expect fail\n' + + 'ok 5 - sync todo with expect fail # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync skip expect fail\n' + + 'ok 6 - sync skip expect fail # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync pass todo\n' + + 'ok 7 - sync pass todo # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync pass todo with message\n' + + 'ok 8 - sync pass todo with message # TODO this is a passing todo\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync fail todo\n' + + 'not ok 9 - sync fail todo # TODO\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + + " failureType: 'testCodeFailure'\n" + + " error: 'thrown from sync fail todo'\n" + + " code: 'ERR_TEST_FAILURE'\n" + + ' stack: |-\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' ...\n' + + '# Subtest: sync fail todo with message\n' + + 'not ok 10 - sync fail todo with message # TODO this is a failing todo\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + + " failureType: 'testCodeFailure'\n" + + " error: 'thrown from sync fail todo with message'\n" + + " code: 'ERR_TEST_FAILURE'\n" + + ' stack: |-\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' ...\n' + + '# Subtest: sync skip pass\n' + + 'ok 11 - sync skip pass # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync skip pass with message\n' + + 'ok 12 - sync skip pass with message # SKIP this is skipped\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: sync pass\n' + + 'ok 13 - sync pass\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# this test should pass\n' + + '# Subtest: sync throw fail\n' + + 'not ok 14 - sync throw fail\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + " location: '/test/fixtures/test-runner/output/output.js:(LINE):1'\n" + + " failureType: 'testCodeFailure'\n" + + " error: 'thrown from sync throw fail'\n" + + " code: 'ERR_TEST_FAILURE'\n" + + ' stack: |-\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' *\n' + + ' ...\n' + + '# Subtest: async skip pass\n' + + 'ok 15 - async skip pass # SKIP\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n" + + ' ...\n' + + '# Subtest: async pass\n' + + 'ok 16 - async pass\n' + + ' ---\n' + + ' duration_ms: *\n' + + " type: 'test'\n
x86_64-darwin: with shared libraries: test/test-runner/test-output-junit-reporter.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected ... Skipped lines '<?xml version="1.0" encoding="utf-8"?>\n' + '<testsuites>\n' + + '\t<testcase name="sync expect fail (method)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="sync expect fail (options)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="async expect fail (method)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="async expect fail (options)" time="*" classname="test" file="*"/>\n' + + '\t<testcase name="sync todo with expect fail" time="*" classname="test" file="*">\n' + + '\t\t<skipped type="todo" message="true"/>\n' + + '\t</testcase>\n' + + '\t<testcase name="sync skip expect fail" time="*" classname="test" file="*">\n' + + '\t\t<skipped type="skipped" message="true"/>\n' + + '\t</testcase>\n' + '\t<testcase name="sync pass todo" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync pass todo with message" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="this is a passing todo"/>\n' + ... '\t\t<failure type="callbackAndPromisePresent" message="passed a callback but also returned a Promise">\n' + + '[Error [ERR_TEST_FAILURE]: passed a callback but'... 12321 more characters - "[Error [ERR_TEST_FAILURE]: passed a callback but also returned a Promise] { code: 'ERR_TEST_FAILURE', failureType: 'callbackAndPromisePresent', cause: 'passed a callback but also returned a Promise' }\n" + - '\t\t</failure>\n' + - '\t</testcase>\n' + - '\t<testcase name="callback throw" time="*" classname="test" file="*" failure="thrown from callback throw">\n' + - '\t\t<failure type="testCodeFailure" message="thrown from callback throw">\n' + - '[Error [ERR_TEST_FAILURE]: thrown from callback throw] {\n' + - " code: 'ERR_TEST_FAILURE',\n" + - " failureType: 'testCodeFailure',\n" + - ' cause: Error: thrown from callback throw\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - ' *\n' + - '}\n' + - '\t\t</failure>\n' + - '\t</t'... 11723 more characters at assertSnapshot (/Users/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:66:12) at async spawnAndAssert (/Users/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:101:3) at async file:///Users/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/test-runner/test-output-junit-reporter.mjs:8:1 { generatedMessage: true, code: 'ERR_ASSERTION', actual: '<?xml version="1.0" encoding="utf-8"?>\n' + '<testsuites>\n' + '\t<testcase name="sync expect fail (method)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="sync expect fail (options)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="async expect fail (method)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="async expect fail (options)" time="*" classname="test" file="*"/>\n' + '\t<testcase name="sync todo with expect fail" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync skip expect fail" time="*" classname="test" file="*">\n' + '\t\t<skipped type="skipped" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync pass todo" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="true"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync pass todo with message" time="*" classname="test" file="*">\n' + '\t\t<skipped type="todo" message="this is a passing todo"/>\n' + '\t</testcase>\n' + '\t<testcase name="sync fail todo" time="*" classname="test" file="*" failure="thrown from sync fail todo">\n' + '\t\t<skipped type="todo" messag
x86_64-darwin: with shared libraries: test/test-runner/test-output-dot-reporter.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + '........XX...X..XXX.\n' + + 'X.....XXX...........\n' + + '.X.........X...XXX.X\n' + + 'X.....XXXXXXX...XXXX\n' + + 'X\n' + - '..XX...X..XXX.X.....\n' + - 'XXX............X....\n' + - '.....X...XXX.XX.....\n' + - 'XXXXXXX...XXXXX\n' + '\n' + 'Failed tests:\n' + '\n' + 'βœ– sync fail todo (*ms) # TODO\n' + ' Error: thrown from sync fail todo\n' + at assertSnapshot (/Users/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:66:12) at async spawnAndAssert (/Users/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/common/assertSnapshot.js:101:3) at async file:///Users/runner/work/_temp/node-v26.0.0-nightly2025-12-2158525c574f-slim/test/test-runner/test-output-dot-reporter.mjs:7:1 { generatedMessage: true, code: 'ERR_ASSERTION', actual: '........XX...X..XXX.\n' + 'X.....XXX...........\n' + '.X.........X...XXX.X\n' + 'X.....XXXXXXX...XXXX\n' + 'X\n' + '\n' + 'Failed tests:\n' + '\n' + 'βœ– sync fail todo (*ms) # TODO\n' + ' Error: thrown from sync fail todo\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– sync fail todo with message (*ms) # this is a failing todo\n' + ' Error: thrown from sync fail todo with message\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– sync throw fail (*ms)\n' + ' Error: thrown from sync throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– async throw fail (*ms)\n' + ' Error: thrown from async throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'οΉ£ async skip fail (*ms) # SKIP\n' + ' Error: thrown from async throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– async assertion fail (*ms)\n' + ' AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:\n' + ' \n' + ' true !== false\n' + ' \n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' * {\n' + ' generatedMessage: true,\n' + " code: 'ERR_ASSERTION',\n" + ' actual: true,\n' + ' expected: false,\n' + " operator: 'strictEqual',\n" + " diff: 'simple'\n" + ' }\n' + 'βœ– reject fail (*ms)\n' + ' Error: rejected from reject fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– +sync throw fail (*ms)\n' + ' Error: thrown from subtest sync throw fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– subtest sync throw fail (*ms)\n' + " '1 subtest failed'\n" + 'βœ– sync throw non-error fail (*ms)\n' + ' Symbol(thrown symbol from sync throw non-error fail)\n' + 'βœ– sync skip option is false fail (*ms)\n' + ' Error: this should be executed\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + 'βœ– callback fail (*ms)\n' + ' Error: callback failure\n' + ' *\n' + ' *\n' + 'βœ– callback also returns a Promise (*ms)\n' + " 'passed a callback but also returned a Promise'\n" + 'βœ– callback throw (*ms)\n' + ' Error: thrown from callback throw\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' +

Artifacts

Produced during runtime
Name Size Digest
tarballs
47.8 MB
sha256:98f9a6a6f9467f36fa210cc30b146c552c4935d7d0a1f62d53a0e1dfff75f77f