Repository: node
Issue: `parallel/test-runner-output` is flaky
Labels: windows,flaky-test,test_runner

### Test

`parallel/test-runner-output`

### Platform

Windows

### Console output

```console
not ok 2761 parallel/test-runner-output
  ---
  duration_ms: 5831.75900
  severity: fail
  exitcode: 1
  stack: |-
    â¶ test runner output
      â test-runner/output/abort.js (5044.243602ms)
      â test-runner/output/abort-runs-after-hook.js (5024.467414ms)
      â test-runner/output/abort_suite.js (5000.590488ms)
      â test-runner/output/abort_hooks.js (4979.5575ms)
      â test-runner/output/describe_it.js (4977.140656ms)
      â test-runner/output/describe_nested.js (4925.394205ms)
      â test-runner/output/eval_dot.js (4901.098336ms)
      â test-runner/output/eval_spec.js (4837.353ms)
      â test-runner/output/eval_tap.js (4710.94876ms)
      â test-runner/output/filtered-suite-delayed-build.js (4681.152445ms)
      â test-runner/output/filtered-suite-order.mjs (4642.805511ms)
      â test-runner/output/filtered-suite-throws.js (4612.421303ms)
      â test-runner/output/hooks.js (4622.774072ms)
      â test-runner/output/hooks_spec_reporter.js (4589.467662ms)
      â test-runner/output/skip-each-hooks.js (4526.797983ms)
      â test-runner/output/suite-skip-hooks.js (4502.179664ms)
      â test-runner/output/timeout_in_before_each_should_not_affect_further_tests.js (4422.895785ms)
      â test-runner/output/hooks-with-no-global-test.js (4306.540227ms)
      â test-runner/output/global-hooks-with-no-tests.js (4279.560221ms)
      â test-runner/output/before-and-after-each-too-many-listeners.js (4201.921211ms)
      â test-runner/output/before-and-after-each-with-timeout-too-many-listeners.js (4158.995317ms)
      â test-runner/output/force_exit.js (4130.514523ms)
      â test-runner/output/global_after_should_fail_the_test.js (4101.715736ms)
      â test-runner/output/no_refs.js (4050.275822ms)
      â test-runner/output/no_tests.js (3976.924663ms)
      â test-runner/output/only_tests.js (3872.183748ms)
      â test-runner/output/dot_reporter.js (3810.210886ms)
      â test-runner/output/junit_reporter.js (3816.323072ms)
      â test-runner/output/spec_reporter_successful.js (3710.15109ms)
      â test-runner/output/spec_reporter.js (3722.466172ms)
      â test-runner/output/spec_reporter_cli.js (3607.488084ms)
      â test-runner/output/source_mapped_locations.mjs (3511.73783ms)
      â test-runner/output/lcov_reporter.js (3515.362787ms)
      â test-runner/output/output.js (3432.210248ms)
      â test-runner/output/output_cli.js (3385.594322ms)
      â test-runner/output/name_and_skip_patterns.js (3116.385549ms)
      â test-runner/output/name_pattern.js (3012.778989ms)
      â test-runner/output/name_pattern_with_only.js (2944.807975ms)
      â test-runner/output/skip_pattern.js (2479.866823ms)
      â test-runner/output/unfinished-suite-async-error.js (2393.255322ms)
      â test-runner/output/unresolved_promise.js (2214.530445ms)
      â test-runner/output/default_output.js (2081.418465ms)
        AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
        + actual - expected ... Lines skipped
        
          '[32mâ should pass [90m(*ms)[39m[39m\n' +
            '[31mâ should fail [90m(*ms)[39m[39m\n' +
        ...
            '  *[39m\n' +
            '  *[39m\n' +
        +   '  [90m    at async startSubtestAfterBootstrap (node:internal/test_runn'
        -   '  *[39m\n' +
        -   '\n' +
        -   '*\n' +
        -   '[31mâ should fail [90m(*ms)[39m[39m\n' +
        -   '  Error: fail\n' +
        -   '      *[39m\n' +
        -   '  *[39m\n' +
        -   '  *[39m\n' +
        -   '  *[39m\n' +
        -   '  *[39m\n' +
        -   '      *[39m\n' +
        -   '  *[39m\n' +
        -   '  *[39m\n' +
        -   '  *[39m\n' +
        -   '  *[39m\n' +
        -   '\n' +
        -   '*\n' +
        -   '[31mâ should pass but parent fail [90m(*ms)[39m[39m\n' +
        -   "  [32m'test did not finish before its parent and was cancelled'[39m\n"
            at assertSnapshot (/home/iojs/build/workspace/node-test-commit-aix/nodes/aix72-ppc64/test/common/assertSnapshot.js:56:12)
            at async Module.spawnAndAssert (/home/iojs/build/workspace/node-test-commit-aix/nodes/aix72-ppc64/test/common/assertSnapshot.js:91:3)
            at async TestContext.<anonymous> (file:///home/iojs/build/workspace/node-test-commit-aix/nodes/aix72-ppc64/test/parallel/test-runner-output.mjs:286:5)
            at async Test.run (node:internal/test_runner/test:935:9)
            at async Promise.all (index 41)
            at async Suite.run (node:internal/test_runner/test:1320:7)
            at async startSubtestAfterBootstrap (node:internal/test_runner/harness:297:3) {
          generatedMessage: true,
          code: 'ERR_ASSERTION',
          actual: '[32mâ should pass [90m(*ms)[39m[39m\n[31mâ should fail [90m(*ms)[39m[39m\n  Error: fail\n      *[39m\n  *[39m\n  *[39m\n  *[39m\n  *[39m\n  *[39m\n  *[39m\n...',
          expected: '[32mâ should pass [90m(*ms)[39m[39m\n[31mâ should fail [90m(*ms)[39m[39m\n  Error: fail\n      *[39m\n  *[39m\n  *[39m\n  *[39m\n  *[39m\n  *[39m\n  *[39m\n...',
          operator: 'strictEqual'
        }
    
      â test-runner/output/arbitrary-output.js (1878.087741ms)
      â test-runner/output/async-test-scheduling.mjs (1841.915158ms)
      â test-runner/output/arbitrary-output-colored.js (2090.36852ms)
      â test-runner/output/dot_output_custom_columns.js (1552.294798ms)
      â test-runner/output/tap_escape.js (1461.577271ms)
      â test-runner/output/test-runner-plan.js (1421.101897ms)
      â test-runner/output/coverage_failure.js (1200.580922ms)
      â test-runner/output/test-diagnostic-warning-without-test-only-flag.js (1083.959424ms)
      â test-runner/output/coverage-width-40.mjs (1122.226143ms)
      â test-runner/output/coverage-width-80.mjs (888.268393ms)
      â test-runner/output/coverage-width-100.mjs (849.100504ms)
      â test-runner/output/coverage-width-150.mjs (881.08359ms)
      â test-runner/output/coverage-width-infinity.mjs (722.609533ms)
      â test-runner/output/coverage-width-80-uncovered-lines.mjs (758.820816ms)
      â test-runner/output/coverage-width-100-uncovered-lines.mjs (611.19314ms)
      â test-runner/output/coverage-width-150-uncovered-lines.mjs (692.291311ms)
      â test-runner/output/coverage-width-infinity-uncovered-lines.mjs (617.418721ms)
    â test runner output (5372.954414ms)
    â¹ tests 59
    â¹ suites 1
    â¹ pass 58
    â¹ fail 1
    â¹ cancelled 0
    â¹ skipped 0
    â¹ todo 0
    â¹ duration_ms 5392.306818
    
    â failing tests:
    
    test at test/parallel/test-runner-output.mjs:295:5
    â test-runner/output/default_output.js (2081.418465ms)
      AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
      + actual - expected ... Lines skipped
      
        '[32mâ should pass [90m(*ms)[39m[39m\n' +
          '[31mâ should fail [90m(*ms)[39m[39m\n' +
      ...
          '  *[39m\n' +
          '  *[39m\n' +
      +   '  [90m    at async startSubtestAfterBootstrap (node:internal/test_runn'
      -   '  *[39m\n' +
      -   '\n' +
      -   '*\n' +
      -   '[31mâ should fail [90m(*ms)[39m[39m\n' +
      -   '  Error: fail\n' +
      -   '      *[39m\n' +
      -   '  *[39m\n' +
      -   '  *[39m\n' +
      -   '  *[39m\n' +
      -   '  *[39m\n' +
      -   '      *[39m\n' +
      -   '  *[39m\n' +
      -   '  *[39m\n' +
      -   '  *[39m\n' +
      -   '  *[39m\n' +
      -   '\n' +
      -   '*\n' +
      -   '[31mâ should pass but parent fail [90m(*ms)[39m[39m\n' +
      -   "  [32m'test did not finish before its parent and was cancelled'[39m\n"
          at assertSnapshot (/home/iojs/build/workspace/node-test-commit-aix/nodes/aix72-ppc64/test/common/assertSnapshot.js:56:12)
          at async Module.spawnAndAssert (/home/iojs/build/workspace/node-test-commit-aix/nodes/aix72-ppc64/test/common/assertSnapshot.js:91:3)
          at async TestContext.<anonymous> (file:///home/iojs/build/workspace/node-test-commit-aix/nodes/aix72-ppc64/test/parallel/test-runner-output.mjs:286:5)
          at async Test.run (node:internal/test_runner/test:935:9)
          at async Promise.all (index 41)
          at async Suite.run (node:internal/test_runner/test:1320:7)
          at async startSubtestAfterBootstrap (node:internal/test_runner/harness:297:3) {
        generatedMessage: true,
        code: 'ERR_ASSERTION',
        actual: '[32mâ should pass [90m(*ms)[39m[39m\n[31mâ should fail [90m(*ms)[39m[39m\n  Error: fail\n      *[39m\n  *[39m\n  *[39m\n  *[39m\n  *[39m\n  *[39m\n  *[39m\n...',
        expected: '[32mâ should pass [90m(*ms)[39m[39m\n[31mâ should fail [90m(*ms)[39m[39m\n  Error: fail\n      *[39m\n  *[39m\n  *[39m\n  *[39m\n  *[39m\n  *[39m\n  *[39m\n...',
        operator: 'strictEqual'
      }
  ...
```


### Build links

- https://ci.nodejs.org/job/node-test-binary-windows-js-suites/30580/RUN_SUBSET=0,nodes=win11-arm64-COMPILED_BY-vs2022-arm64/testReport/junit/(root)/parallel/test_runner_coverage/

### Additional information

I feel this is likely an issue with `replaceStackTrace` in `assertSnapshot`, since `startSubtestAfterBootstrap` is logged...