Open
Bug 1683735
Opened 5 years ago
create --new-config mode for reftest harness
Categories
(Testing :: Reftest, enhancement)
Tracking
(Not tracked)
NEW
People
(Reporter: jmaher, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
This is nice to have in order for quicker running of ALL tests on a new config so we can collect all the data in a single try push if there is enough capacity. We will be doing this for other harnesses, but reftest typically does fuzzy-if.
For reftest, I recommend treating a new config as a blank slate and accepting all the failures, then adding a skip-if/fuzzy-if as needed with a unique condition (i.e. fuzzy-if(apple_silicon,2-2,120-122), vs using conditions of graphics modes)
Here are some suggested ways to achieve this:
- in runreftest.py ( https://searchfox.org/mozilla-central/source/layout/tools/reftest/runreftest.py#422 ) add a
new_configpref based on the cli options. - in reftest.jsm (https://searchfox.org/mozilla-central/source/layout/tools/reftest/reftest.jsm#458 ), look for
new_configand set a global variable to keep track. - hack out the expected fuzzy ( https://searchfox.org/mozilla-central/source/layout/tools/reftest/reftest.jsm#1218 ) so if we are in
new_configthat it expects 0 ( like https://searchfox.org/mozilla-central/source/layout/tools/reftest/reftest.jsm#1205 ) and will fail with the delta and pixels values. - in runreftest.py, set a pref for
reftest.timeoutto be 120 seconds longer than the default, or if innew_configmode, edit reftest.jsm ( https://searchfox.org/mozilla-central/source/layout/tools/reftest/reftest.jsm#251 ) to have 120 extra seconds.
While this isn't thought out 100%, it gives an outline of where to look and some of the common moving parts. There are 2 other area to consider which this breakdown doesn't consider:
- android which has a different python runner (layout/tools/reftest/remotereftest.py) and different ways to communicate with the harness as well as failure modes.
- crashes and timeouts (which are rare for reftest) will not restart and run the remaining tests.
You need to log in
before you can comment on or make changes to this bug.
Description
•