Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b4ed7dac25c85db75ae2101c01a3072c6bc9378b
https://github.com/WebKit/WebKit/commit/b4ed7dac25c85db75ae2101c01a3072c6bc9378b
Author: Roberto Rodriguez <[email protected]>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M Source/ThirdParty/ANGLE/src/tests/test_utils/runner/TestSuite.cpp
Log Message:
-----------
[ANGLE] Fix --bot-mode crash by writing a results file instead of scraping
stdout
https://bugs.webkit.org/show_bug.cgi?id=321300
rdar://184340969
Reviewed by Kimmo Kinnunen.
When running ANGLEEnd2EndTests in bot mode, the parent runs each batch of tests
in a child process and merges the child's results back, normally by reading a
JSON results file the child writes via RapidJSON. WebKit builds ANGLE without
RapidJSON, so the JSON results writer and reader are compiled out and the parent
falls back to scraping the child's stdout. That parsing mishandles gtest's
summary and parameterized-test status lines, creating malformed and duplicate
identifiers that crash the merge whenever a test is skipped or failed.
Fix by writing a results file instead of scraping stdout. Collecting each test's
status and duration already works without RapidJSON, since the test event
listener records them, so only reading and writing the file needs a
non-RapidJSON path. The child now writes a CSV results file and the parent reads
and merges it like with JSON. Here's a snippet:
testSuiteName,testName,result,flakyFailures,elapsedTimeSeconds
ActiveTextureCacheTest,UniformChangeUpdatesActiveTextureCache/ES2_Metal,Pass,0,0.099299
dEQP-GLES3,functional.prerequisite.clear_color,Fail,0,0.259352
The stdout-scraping code and its helpers are removed, and the default bot-mode
results file is output.csv.
Overall this makes bot mode usable for running the ANGLE suites on CI, where
batched
parallel execution is required for the large dEQP suites. Serial runs are
unaffected, and the CSV writer and reader are confined to the non-RapidJSON
path.
* Source/ThirdParty/ANGLE/src/tests/test_utils/runner/TestSuite.cpp:
(angle::TestSuite::TestSuite):
(angle::TestSuite::finishProcess):
(angle::ParseTestIdentifierAndSetResult): Deleted.
Canonical link: https://commits.webkit.org/321627@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications