Move almost all test-info code out of mach_commands.py and into its own file
and consolidate logging and imports; no functional changes.
Differential Revision: https://phabricator.services.mozilla.com/D56064
--HG--
extra : moz-landing-system : lando
This adds test run time and test run/skipped/failed counts for most test types.
There are numerous shortcomings (sometimes exceeding the ActiveData 10K record limit,
test path/name mismatches, no totals for manifest/component/all, etc) but I would
like to see this running asap as I think it provides a good foundation for further
work and discussion.
Differential Revision: https://phabricator.services.mozilla.com/D55576
--HG--
extra : moz-landing-system : lando
Switch 'mach test-info report' and 'mach test-info tests' to use the TestManifestLoader.
Differential Revision: https://phabricator.services.mozilla.com/D54053
--HG--
extra : moz-landing-system : lando
Puppeteer tests have t['manifest'] = None; allowing for this avoids downstream pain
when reporting manifests.
(Also removed a stray debugging print statement.)
Differential Revision: https://phabricator.services.mozilla.com/D53102
--HG--
extra : moz-landing-system : lando
This "annotations" report provides a different view of manifest data,
concentrating on the manifest annotations, like "skip-if". What conditions
are used in manifests? How many times does each occur?
Differential Revision: https://phabricator.services.mozilla.com/D52926
--HG--
extra : moz-landing-system : lando
Very minor enhancement to 'mach test-info tests <test-name>' such that the list of
related bugs is displayed earlier, before any of the ActiveData queries, so that
all the quickly-retrieved info is displayed before the annoying ActiveData delay.
I had to split set_test_name() into two parts since the first part is required
for the bugzilla report; the second part is not required for bugzilla and involves
a lengthy ActiveData query.
Differential Revision: https://phabricator.services.mozilla.com/D52087
--HG--
extra : moz-landing-system : lando
Remove some overly clever code and make the spidermonkey-related tests more
consistent with each other.
Differential Revision: https://phabricator.services.mozilla.com/D51901
--HG--
extra : moz-landing-system : lando
Standardize the jsapi-tests logic to match the other spidermonkey check
commands in testing/mach_commands.py.
Differential Revision: https://phabricator.services.mozilla.com/D51530
--HG--
extra : moz-landing-system : lando
This allows running the jit_test.py harness using mach. It works very
similarly to the existing 'mach jstests' command.
Differential Revision: https://phabricator.services.mozilla.com/D51518
--HG--
extra : moz-landing-system : lando
Treat the reftest 'fails-if' as a synonym for manifest parser 'fail-if'.
For any annotation types requested by --filter-keys, display those annotations
in the test-level report (--show-tests).
Differential Revision: https://phabricator.services.mozilla.com/D51166
--HG--
extra : moz-landing-system : lando
Pull calls to mozbuild_reader().files_info() out of loops, instead passing
all the paths of interest at once.
Differential Revision: https://phabricator.services.mozilla.com/D49358
--HG--
extra : moz-landing-system : lando
Adds 'tests' sub-command for 'mach test-info'.
'mach help test-info' shows all sub-commands.
'mach help test-info <subcommand>' shows sub-command descriptions,
including help for the options previously excluded.
Differential Revision: https://phabricator.services.mozilla.com/D48079
--HG--
extra : moz-landing-system : lando
Instead of choosing specific run.types of interest, like 'e10s', concatenate
all returned strings, eliminating known exceptions, like 'chunked'. Notably
this correctly displays "linux64/debug-e10s-service-worker".
Differential Revision: https://phabricator.services.mozilla.com/D48091
--HG--
extra : moz-landing-system : lando
Report both failures and skipped test counts.
(Also incidentally fixes platform name reporting of fission tests.)
Differential Revision: https://phabricator.services.mozilla.com/D44074
--HG--
extra : moz-landing-system : lando
Ensure that if we try to create a mochitest of unsupported file type we return a
useful error
Differential Revision: https://phabricator.services.mozilla.com/D38224
--HG--
extra : moz-landing-system : lando
If test is run using the `mach test` harness, populate the `extra_args` with `--debugger=<name>` that is expected by the underlying harnesses (`wpt,`, `mochitest`) in order to maintain compatibility.
Differential Revision: https://phabricator.services.mozilla.com/D42952
--HG--
extra : moz-landing-system : lando
Optional summary provides a convenient synopsis of matching tests. filter-values regex
was requested for in bug 1568638, like --filter-values='(?<!!)fission'.
Differential Revision: https://phabricator.services.mozilla.com/D42570
--HG--
extra : moz-landing-system : lando
Keep the existing report format by default, but provide an option to generate a
report that is not broken down by component.
Differential Revision: https://phabricator.services.mozilla.com/D41427
--HG--
extra : moz-landing-system : lando
These were already supported by the test resolver; let's use them. More tweaks planned...
Differential Revision: https://phabricator.services.mozilla.com/D41414
--HG--
extra : moz-landing-system : lando
Basic test infrastructure for Fluent migration recipes, automate creating
a reference from recipe data, and running the recipe dry and wet.
There are no hard failures for diffs, as it might just be OK.
Differential Revision: https://phabricator.services.mozilla.com/D40200
--HG--
extra : moz-landing-system : lando
This provides the basic functionality, but certainly not all the bells and whistles. Future work may add summaries and totals, better reftest support, better web-platform support, more flexible filtering, etc.
Differential Revision: https://phabricator.services.mozilla.com/D39224
--HG--
extra : moz-landing-system : lando
To not make jstests even slower, this adds --jitflags=jstests and uses it for
jstests in automation. For jstests we can use fewer jit configurations than
for jit-tests.
This also removes the bigint and bigintdebug autospider variants. BigInt is now
enabled by default so we no longer need the configure flag etc.
Differential Revision: https://phabricator.services.mozilla.com/D36307
--HG--
extra : moz-landing-system : lando
Also adds it to the mach command, which is a little weird, because the
mach command doesn't expose the option but does parse it via the cpp unit
argument parser. So I just exposed it on the mach command and after that
it Just Works for mach.
Differential Revision: https://phabricator.services.mozilla.com/D35859
--HG--
extra : moz-landing-system : lando
Follow-up on ekyle's kind suggestion. I also found the type of some of the
returned data has changed, producing incorrect zero counts. A simple type
conversion gets everything working again:
$ ./mach test-info long-tasks
Tasks nearing their max-run-time on mozilla-central,mozilla-inbound,autoland between 2019-06-03 and 2019-06-10
test-linux64-asan/opt-web-platform-tests-e10s-10 : 52 of 212 runs (24.0%) exceeded 90% of max-run-time (7200 s)
test-linux64/debug-telemetry-tests-client-e10s : 34 of 211 runs (16.0%) exceeded 90% of max-run-time (600 s)
test-linux64-asan/opt-telemetry-tests-client-e10s : 76 of 696 runs (10.0%) exceeded 90% of max-run-time (600 s)
Differential Revision: https://phabricator.services.mozilla.com/D34362
--HG--
extra : moz-landing-system : lando
The format of platform and type data seems to have evolved over time; these
changes seem to handle the new formats well.
Differential Revision: https://phabricator.services.mozilla.com/D28766
--HG--
extra : moz-landing-system : lando
This officially makes 'moztest.resolve' the source of truth when it comes to
suite names. It aligns that file with the names used in both the
desktop_unittest and android_emulator_unittest scripts.
Differential Revision: https://phabricator.services.mozilla.com/D27555
--HG--
extra : moz-landing-system : lando
Add addtest support for per-suite arguments and multiple files. Also
support opening the created test in an editor. This allowed supporting
the wpt suite and replaces `mach wpt-create`.
# Create a wpt test
./mach addtest testing/web-platform/tests/accelerometer/test.html
# Create a wpt reftest
./mach addtest --suite wpt-reftesttesting/web-platform/tests/css/example.html --ref example-ref.html
The files created will be opened in the default editor if --editor is
supplied or a specified editor if the argument is given a value.
Differential Revision: https://phabricator.services.mozilla.com/D26339
--HG--
extra : moz-landing-system : lando
Instead of:
perl gen_template.pl -b=123456 --type=plain > path/to/test_bug123456.html
You can do:
./mach addtest --suite="mochitest-plain" > path/to/test_bug123456.html
But you can also pass in a new file path and let it guess the suite/doc:
```
# mochitest-chrome tests
./mach addtest js/xpconnect/tests/chrome/test_chrome.html
./mach addtest js/xpconnect/tests/chrome/test_chrome.xhtml
./mach addtest js/xpconnect/tests/chrome/test_chrome.xul
# mochitest-plain tests
./mach addtest js/xpconnect/tests/mochitest/test_plain.html
./mach addtest js/xpconnect/tests/mochitest/test_plain.xhtml
./mach addtest js/xpconnect/tests/mochitest/test_plain.xul
# mochitest-browser tests
./mach addtest browser/base/content/test/alerts/browser_foo.js
# xpcshell tests
./mach addtest browser/components/extensions/test/xpcshell/test_xpcshell.js
```
This also changes the mochitest template files in the following ways:
- removes the bug # boilerplate
- remove some unnecessary attributes in the template
- removes the th.template
- adds the browser.template for browser-chrome tests
Differential Revision: https://phabricator.services.mozilla.com/D25482
--HG--
rename : testing/mochitest/static/chrome.template.txt => testing/mochitest/static/chromehtml.template.txt
rename : testing/mochitest/static/test.template.txt => testing/mochitest/static/plainhtml.template.txt
rename : testing/mochitest/static/xhtml.template.txt => testing/mochitest/static/plainxhtml.template.txt
rename : testing/mochitest/static/xul.template.txt => testing/mochitest/static/plainxul.template.txt
extra : moz-landing-system : lando