Files
Hannes Payer 34023c2087 [test] Add --fork-server mode to v8_unittests and testrunner
v8_unittests pays process creation, ~6,900 static GTest registrations,
ICU, snapshot and flag parsing for every single test, because the
testrunner spawns a fresh process per test.

Add a --fork-server mode on POSIX (excluding TSan, Fuchsia, iOS) that
performs this initialization once and then forks a child per
--gtest_filter request read from stdin. Each test still runs in its own
OS process. The testrunner keeps one server per worker and variant,
falls back to direct execution on any failure, and skips the server for
Clang coverage, num_fuzzer, per-subtest seeds and --command-prefix.
Opt out with --no-fork-server or V8_NO_FORK_SERVER=1.

Full-suite wall-clock time in x64.release drops from 12.1s to 5.8s.

TAG=agy
CONV=27a1690b-7f9b-495b-8ad4-dd989d7f50bd

Change-Id: I22a7985cde2713c146360030e6f4d16425ebb8bc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8461671
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#110460}
2026-10-08 07:06:11 -07:00
..
2022-06-01 09:09:18 +00:00