Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3beb04a4553f614cb3232d282cb15b12042404ce
      
https://github.com/WebKit/WebKit/commit/3beb04a4553f614cb3232d282cb15b12042404ce
  Author: Lauro Moura <[email protected]>
  Date:   2026-03-11 (Wed, 11 Mar 2026)

  Changed paths:
    M Tools/Scripts/webkitpy/common/test_expectations.py
    M Tools/Scripts/webkitpy/common/test_expectations_unittest.py
    M Tools/Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py
    M Tools/glib/api_test_runner.py

  Log Message:
  -----------
  [webkitpy][GLIB] Add support to architecture markers in TestExpectations.json
https://bugs.webkit.org/show_bug.cgi?id=309580

Reviewed by Carlos Alberto Lopez Perez.

Follow-up of 308721@main, which replaced the hardcoded x86 architecture
for glib ports with runtime detection.

TestExpectations.json uses a string as the key selector to decide
whether to apply or not a given expectation. This is typically one of
'all', 'gtk', and 'wpe', followed by an optional '@BuildType' suffix.

This commit extends the expectation syntax in TestExpectations.json,
adding a marker for the architecture, after the ':' wildcard, to
contrast with the '@' used for the build type. So, an expectation that
targets WPE Debug ARM64 would be written as 'wpe@Debug:arm64'.

With the addition of this new parameter, to account for the various
possible configurations, we also changed the precedence check to roughly
match the LayoutTests scheme, where the most specific expectation wins.
Previously, 'gtk' would be selected over 'gtk@Release', for example.
Note that 'all' is a fallback port name, so 'all@Debug:x86_64' would
still lose over a proper port name like 'gtk' or 'wpe'.

As these extended configurations were rarely used (~9 commits in 8
years) and the new precedence did not break the existing tests, this
should not be a problem. The new checks are also covered by new tests.

* Tools/Scripts/webkitpy/common/test_expectations.py:
(TestExpectations.__init__):
(TestExpectations._port_name_for_expected):
* Tools/Scripts/webkitpy/common/test_expectations_unittest.py:
(MockTestExpectations.__init__):
(test_architecture):
(test_specificity):
(test_architecture_slow):
(test_architecture_skip):
* Tools/Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
(WebDriverTestRunner.__init__):
* Tools/glib/api_test_runner.py:
(TestRunner.__init__):

Canonical link: https://commits.webkit.org/309066@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to