Support WPT subsuites in agregating and flake detection (#37584)

Handle subsuites in wpt flake detection and aggregation as outlined in
https://github.com/servo/servo/issues/37319#issuecomment-2969528022.
Based on #37540.

Testing: Manual CI run with vello_canvas subsuite:
https://github.com/sagudev/servo/actions/runs/16021200215

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
sagudev 2025-07-04 18:58:42 +02:00 committed by GitHub
parent b57c9acc65
commit da81fd1b76
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 37 additions and 20 deletions

View file

@ -34,6 +34,7 @@ class UnexpectedSubtestResult:
@dataclass
class UnexpectedResult:
path: str
subsuite: str
actual: str
expected: str
message: str
@ -185,6 +186,7 @@ class ServoHandler(mozlog.reader.LogHandler):
self.completed_tests += 1
test_status = data["status"]
test_path = data["test"]
test_subsuite = data["subsuite"]
del self.running_tests[data["thread"]]
had_expected_test_result = self.data_was_for_expected_result(data)
@ -211,6 +213,7 @@ class ServoHandler(mozlog.reader.LogHandler):
if self.currently_detecting_flakes:
return UnexpectedResult(
test_path,
test_subsuite,
test_status,
data.get("expected", test_status),
data.get("message", ""),
@ -229,6 +232,7 @@ class ServoHandler(mozlog.reader.LogHandler):
result = UnexpectedResult(
test_path,
test_subsuite,
test_status,
data.get("expected", test_status),
data.get("message", ""),