Skip to content

test_runner: print coverage and diagnostic info with dot reporter #71431

test_runner: print coverage and diagnostic info with dot reporter

test_runner: print coverage and diagnostic info with dot reporter #71431

Triggered via pull request January 18, 2026 05:51
Status Failure
Total duration 31m 13s
Artifacts

test-macos.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

6 errors and 1 notice
test-macOS
Process completed with exit code 2.
test-macOS: test/test-runner/test-output-eval-dot.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected '.X\n' + + 'ℹ tests 2\n' + + 'ℹ suites 0\n' + + 'ℹ pass 1\n' + + 'ℹ fail 1\n' + + 'ℹ cancelled 0\n' + + 'ℹ skipped 0\n' + + 'ℹ todo 0\n' + + 'ℹ duration_ms *\n' + '\n' + 'Failed tests:\n' + '\n' + '✖ fails (*ms)\n' + ' Error: fail\n' + at assertSnapshot (/Users/runner/work/node/node/node/test/common/assertSnapshot.js:66:12) at async spawnAndAssert (/Users/runner/work/node/node/node/test/common/assertSnapshot.js:101:3) at async file:///Users/runner/work/node/node/node/test/test-runner/test-output-eval-dot.mjs:7:1 { generatedMessage: true, code: 'ERR_ASSERTION', actual: '.X\n' + 'ℹ tests 2\n' + 'ℹ suites 0\n' + 'ℹ pass 1\n' + 'ℹ fail 1\n' + 'ℹ cancelled 0\n' + 'ℹ skipped 0\n' + 'ℹ todo 0\n' + 'ℹ duration_ms *\n' + '\n' + 'Failed tests:\n' + '\n' + '✖ fails (*ms)\n' + ' Error: fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n', expected: '.X\n' + '\n' + 'Failed tests:\n' + '\n' + '✖ fails (*ms)\n' + ' Error: fail\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n' + ' *\n', operator: 'strictEqual', diff: 'simple' } Node.js v26.0.0-pre Command: out/Release/node /Users/runner/work/node/node/node/test/test-runner/test-output-eval-dot.mjs
test-macOS: 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' + + 'ℹ this test should pass\n' + + 'ℹ this subtest should make its parent test fail\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: 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' + + 'ℹ suites 0\n' + + 'ℹ pass 40\n' + + 'ℹ fail 24\n' + + 'ℹ cancelled 2\n' + + 'ℹ skipped 10\n' + + 'ℹ todo 5\n' + + 'ℹ duration_ms *\n' + '\n' + 'Failed tests:\n' + '\n' + '✖ sync fail todo (*ms) # TODO\n' + ' Error: thrown from sync fail todo\n' + at assertSnapshot (/Users/runner/work/node/node/node/test/common/assertSnapshot.js:66:12) at async spawnAndAssert (/Users/runner/work/node/node/node/test/common/assertSnapshot.js:101:3) at async file:///Users/runner/work/node/node/node/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' + 'ℹ this test should pass\n' + 'ℹ this subtest should make its parent test fail\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 asy
test-macOS: test/test-runner/test-output-dot-output-custom-columns.mjs#L0
--- stderr --- node:internal/modules/run_main:107 triggerUncaughtException( ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected '[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m\n' + '[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m\n' + + '[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m\n' + + '[34mℹ tests 100[39m\n' + + '[34mℹ suites 0[39m\n' + + '[34mℹ pass 100[39m\n' + + '[34mℹ fail 0[39m\n' + + '[34mℹ cancelled 0[39m\n' + + '[34mℹ skipped 0[39m\n' + + '[34mℹ todo 0[39m\n' + + '[34mℹ duration_ms *[39m\n' - '[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m\n' at assertSnapshot (/Users/runner/work/node/node/node/test/common/assertSnapshot.js:66:12) at async spawnAndAssert (/Users/runner/work/node/node/node/test/common/assertSnapshot.js:101:3) at async file:///Users/runner/work/node/node/node/test/test-runner/test-output-dot-output-custom-columns.mjs:8:1 { generatedMessage: true, code: 'ERR_ASSERTION', actual: '[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m\n' + '[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m\n' + '[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m\n' + '[34mℹ tests 100[39m\n' + '[34mℹ suites 0[39m\n' + '[34mℹ pass 100[39m\n' + '[34mℹ fail 0[39m\n' + '[34mℹ cancelled 0[39m\n' + '[34mℹ skipped 0[39m\n' + '[34mℹ todo 0[39m\n' + '[34mℹ duration_ms *[39m\n', expected: '[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m\n' + '[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m\n' + '[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m\n', operator: 'strictEqual', diff: 'simple' } Node.js v26.0.0-pre Command: out/Release/node /Users/runner/work/node/node/node/test/test-runner/test-output-dot-output-custom-columns.mjs
test-macOS: test/parallel/test-runner-run.mjs#L106
--- stderr --- (node:3673) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 uncaughtException listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created) (node:3673) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 unhandledRejection listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit (node:3673) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 beforeExit listeners added to [process]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit --- stdout --- Test failure: 'should be piped with dot' Location: test/parallel/test-runner-run.mjs:101:3 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: 10 !== 2 at TestContext.<anonymous> (file:///Users/runner/work/node/node/node/test/parallel/test-runner-run.mjs:106:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1116:7) at async Promise.all (index 9) at async Suite.run (node:internal/test_runner/test:1524:7) at async startSubtestAfterBootstrap (node:internal/test_runner/harness:358:3) { generatedMessage: true, code: 'ERR_ASSERTION', actual: 10, expected: 2, operator: 'strictEqual', diff: 'simple' } Command: out/Release/node --test-reporter=./test/common/test-error-reporter.js --test-reporter-destination=stdout /Users/runner/work/node/node/node/test/parallel/test-runner-run.mjs
test-macOS: test/parallel/test-config-file.js#L244
--- stdout --- Test failure: 'string flag should be parsed correctly' Location: test/parallel/test-config-file.js:235:1 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + '.\n' + + 'ℹ tests 1\n' + + 'ℹ suites 0\n' + + 'ℹ pass 1\n' + + 'ℹ fail 0\n' + + 'ℹ cancelled 0\n' + + 'ℹ skipped 0\n' + + 'ℹ todo 0\n' + + 'ℹ duration_ms 48.048041\n' - '.\n' at TestContext.<anonymous> (/Users/runner/work/node/node/node/test/parallel/test-config-file.js:244:10) at async Test.run (node:internal/test_runner/test:1116:7) at async Test.processPendingSubtests (node:internal/test_runner/test:786:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: '.\n' + 'ℹ tests 1\n' + 'ℹ suites 0\n' + 'ℹ pass 1\n' + 'ℹ fail 0\n' + 'ℹ cancelled 0\n' + 'ℹ skipped 0\n' + 'ℹ todo 0\n' + 'ℹ duration_ms 48.048041\n', expected: '.\n', operator: 'strictEqual', diff: 'simple' } Command: out/Release/node --test-reporter=./test/common/test-error-reporter.js --test-reporter-destination=stdout /Users/runner/work/node/node/node/test/parallel/test-config-file.js
sccache stats
0% - 0 hits, 0 misses, 0 errors