Changelog

nodejs/node · · 10 commits

Test runner retry bug fixed; FFI API cleaned up

A retry-state bug could hide real failures, while FFI signature fields were renamed and test runner watch behavior got more reliable.

--test-rerun-failures no longer swallows retry failures (atlowChemi74ccf38) The test runner and rerun reporter now track disambiguation counters against the base file:line:column key and advance them for both passes and fails. This fixes a subtle bug where a failing test on retry could be matched to the wrong prior run and reported as a pass.

FFI signature objects switch to return/arguments (Renegade334df09b2a) The public FFI API drops the older result/parameters aliases in favor of a simpler schema with return and arguments, and the docs/examples were updated accordingly. This is a breaking API cleanup for anyone configuring native function or callback signatures.

Process-isolated test runner events now bypass declaration-order buffering (MoLow1ddb754) test:enqueue, test:dequeue, and test:complete are forwarded immediately instead of waiting behind per-file ordering. That makes execution-ordered reporting more accurate under process isolation, especially when fast failures race slower files.

Watch-mode restart flakiness was reduced (trivikre98f2ba) The watch-mode restart test now waits for the restart to begin before rewriting the file, then adds a settling delay before the next mutation. This makes the regression test less timing-sensitive on slower CI and better reflects real filesystem event handling.

Other misc changes

  • test_runner watch spec fixture avoids self-triggered restarts (trivikr1dbea7a)
  • Commit-lint is skipped for backport PRs (marcopiraccinic58e5a1)
  • test-internet fork skip logic fixed in CI (aduh95d79aad8)
  • Tests switched from manual AbortController setup to AbortSignal.abort() (aduh958c3e9bd)
  • Rust/Temporal build docs were reworded and simplified (aduh957a9feef, avivkeller8bc9547)