From changeset d0828787e64fa55b535c7e783bc97612f5c30cff from
version-control-tools repository.
Differential Revision: https://phabricator.services.mozilla.com/D13767
--HG--
extra : moz-landing-system : lando
The settngs() method is called to get a list of session-level settings
that should be applied when running a test. If those settings differ
from the ones applied to the previous test then we have to restart the
browser. But if we set the session on the class in the settings method
then at shutdown time we'll have incorrect settings. This is important
for things like leak checking where the values affect the shutdown
process. So instead ensure that we only set the settings on the class
during startup.
Depends on D12414
Differential Revision: https://phabricator.services.mozilla.com/D13512
--HG--
extra : moz-landing-system : lando
This adds two new properties to wpt metadata files:
mozleak-allowed - This is a list of the form [process-name:object
name], which indicates objects that may be leaked in that specific
process. Automatic updates that find a leak may add that object to
this list.
mozleak-threshold - This is a list (but conceptually a map) of
[process-name: threshold bytes], indicating a threshold below which
leaks will not cause a test failure. This number is updated by setting
it to the observed value for a process.
MozReview-Commit-ID: KA1oPl837a8
Depends on D12410
Differential Revision: https://phabricator.services.mozilla.com/D12411
--HG--
extra : moz-landing-system : lando
A bug in the wptmanifest parser meant that we were erroneously parsing
lists in the default-value position for conditionals as strings i.e.
key:
if cond: [a, b]
[c]
with cond false was evaluating as the string "[c]" rather than a
one-item list containing "c". To fix this we need to ensure that when
the indent level doesn't decrease we parse the line after a
conditional expression as an expr_or_value rather than as a normal
line (this is because the list syntax is ambiguous with headings, and
we put too much logic into the tokeniser rather than the parser).
Depends on D12409
Differential Revision: https://phabricator.services.mozilla.com/D12410
--HG--
extra : moz-landing-system : lando
Moves mozleak to use structured logging. The logger gets two new
actions, mozleak_object to indicate the name of an object that leaked
in a specific process and mozleak_total to indicate the total number
of bytes leaked in a process.
The output from the TBPL formatter is
expected to remain near-identical to the previous output from the
logger, so there shouldn't be any effect on the ability to fail jobs
if there are leaks.
Additional features required by web-platform-tests are also added
here; the leak thresholds are passed to the logger for mozleak_total
and a list of any objects allowed to leak are passed for
mozleak_object, so that a log consumer may decide whether a leak is
unexpected. In addition, the scope attribute is used to specify the
set of tests (or other tasks) running at the time of the leak, which
may be used to associate a leak with a specific set of files.
MozReview-Commit-ID: 19FsMxVQExH
Depends on D12408
Differential Revision: https://phabricator.services.mozilla.com/D12409
--HG--
extra : moz-landing-system : lando
When running non-Firefox products in wpt we go through the run.py
script from upstream. Therefore we need to initialise the logger in
that module as well as the one in wptrunner now that it's been
properly converted to use logging rather than print statements.
In addition, we change the run.py module to allow passing in logging
defaults for the case where nothing is specified on the command line
since the behaviour for wpt upstream is different to the behaviour for
gecko.
Differential Revision: https://phabricator.services.mozilla.com/D13547
--HG--
extra : moz-landing-system : lando
The patch updates the Marionette client and all Marionette unit
tests to make use of the new `Create Window` command as much as
possible.
Depends on D13663
Differential Revision: https://phabricator.services.mozilla.com/D13664
--HG--
extra : moz-landing-system : lando
To be closer to other test harnesses which are using executeSoon()
to run a task on the main thread, this patch adds the same
method to Marionette's sync module.
Differential Revision: https://phabricator.services.mozilla.com/D13659
--HG--
extra : moz-landing-system : lando
It's useful to get DMD reports even if we end up with negative
heap-unclassified. This catches any assertions during processing and makes
sure we move the reports to the upload dir even if there's a failure.
--HG--
extra : rebase_source : 3268d7b8f7f33c36c9b59bfdd5f181d80a0c4201
An automated update based on the observed results on try.
Depends on D13090
Differential Revision: https://phabricator.services.mozilla.com/D13091
--HG--
extra : moz-landing-system : lando
Remove the desktop-only shutdown code and ensure that the app isn't
running before the tests start, since we can't have multiple copies of
the same app running at a time.
Depends on D13088
Differential Revision: https://phabricator.services.mozilla.com/D13089
--HG--
extra : moz-landing-system : lando
This was only being used to set prefs and most prefs are either
already set in
testing/profiles/[common|unittest|web-platform-tests].js or can be set
there so they apply to desktop too.
Differential Revision: https://phabricator.services.mozilla.com/D13088
--HG--
extra : moz-landing-system : lando
Custom preferences as passed into both classes via the constructor
are getting set in the base GeckoInstance class. But both the
DesktopInstance and FennecInstance classes could override those
custom preferences if they have the same preference set as
required preference. As such the custom preference doesn't have
any effect.
This patch allows both classes to override required prefs with
a different value.
Differential Revision: https://phabricator.services.mozilla.com/D13522
--HG--
extra : moz-landing-system : lando
This is all the style-system work needed for this.
This implements the concept of legacy shorthands, teaches tests to understand
it, and adds a few more tests for these properties in particular.
The WPT even caught a few WebKit / Blink bugs:
https://bugs.chromium.org/p/chromium/issues/detail?id=906336https://bugs.webkit.org/show_bug.cgi?id=191803
This doesn't change the layout behavior for page-break-before: always, since
it'd stop breaking in multicol and such. Similarly, break-before / break-after:
column and page still behave the same, I'll file followups for those given
comment 22.
Differential Revision: https://phabricator.services.mozilla.com/D12211
--HG--
extra : moz-landing-system : lando
If zero tests are selected to run while --repeat-until-unexpected is specified, wptrunner can get into a fast infinite loop of running nothing until killed by the user.
This patch should stop that from happening by breaking the loop after the first iteration of nothing finishes.
Differential Revision: https://phabricator.services.mozilla.com/D13204
--HG--
extra : moz-landing-system : lando