Commit Graph

70 Commits

Author SHA1 Message Date
Andrew Halberstadt
14a5425d27 Bug 1736859 - Explicitly disable fission if '--enable-fission' is not set in |mach puppeteer-test|, r=jgraham,webdriver-reviewers
This ensures that when the default value of 'fission.autostart' changes, we
don't accidentally start running with fission enabled even without
'--enable-fission'.

As a follow-up, we should switch the flag to '--disable-fission' once the pref
has flipped.

Differential Revision: https://phabricator.services.mozilla.com/D129820
2021-10-28 14:52:29 +00:00
Henrik Skupin
6553b9b08f Bug 1601245 - [remote] Enable Puppeteer and CDP browser-chrome mochitests for Fission. r=webdriver-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D127524
2021-10-06 04:30:27 +00:00
Alex Lopez
63022efc7a Bug 1696251: Allow mach commands as stand-alone functions and adapt existing commands. r=mhentges,webdriver-reviewers,perftest-reviewers,sparky,whimboo
This removes the `@CommandProvider` decorator and the need to implement
mach commands inside subclasses of `MachCommandBase`, and moves all
existing commands out from classes to module level functions.

Differential Revision: https://phabricator.services.mozilla.com/D121512
2021-09-27 18:12:51 +00:00
Butkovits Atila
eb735ac57e Backed out changeset 53b1fa0faa6d (bug 1696251) for breaking the static-analysis integration. a=backout 2021-09-23 13:06:40 +03:00
Alex Lopez
a8e7083c84 Bug 1696251: Allow mach commands as stand-alone functions and adapt existing commands. r=mhentges,webdriver-reviewers,perftest-reviewers,sparky,whimboo
This removes the `@CommandProvider` decorator and the need to implement
mach commands inside subclasses of `MachCommandBase`, and moves all
existing commands out from classes to module level functions.

Differential Revision: https://phabricator.services.mozilla.com/D121512
2021-09-21 20:38:16 +00:00
Butkovits Atila
c06a3dd9fa Backed out changeset 510dd46a9de7 (bug 1696251) for causing Android build bustages. 2021-09-21 05:16:50 +03:00
Alex Lopez
fe61e94ec8 Bug 1696251: Allow mach commands as stand-alone functions and adapt existing commands. r=mhentges,webdriver-reviewers,perftest-reviewers,sparky,whimboo
This removes the `@CommandProvider` decorator and the need to implement
mach commands inside subclasses of `MachCommandBase`, and moves all
existing commands out from classes to module level functions.

Differential Revision: https://phabricator.services.mozilla.com/D121512
2021-09-20 20:21:07 +00:00
Noemi Erli
91aa2e2b9c Backed out changeset 5f5b612878f3 (bug 1696251) for causing multiple bustages 2021-09-18 02:22:39 +03:00
Alex Lopez
bf860fe7dc Bug 1696251: Allow mach commands as stand-alone functions and adapt existing commands. r=mhentges,webdriver-reviewers,perftest-reviewers,sparky,whimboo
This removes the `@CommandProvider` decorator and the need to implement
mach commands inside subclasses of `MachCommandBase`, and moves all
existing commands out from classes to module level functions.

Differential Revision: https://phabricator.services.mozilla.com/D121512
2021-09-17 19:00:39 +00:00
Alex Lopez
77ce415604 Bug 1696251 - Replace self with command_context where possible in existing mach commands. r=mhentges,webdriver-reviewers,perftest-reviewers,whimboo
This step removes all the dependencies of mach commands to
having a MachCommandBase as the `self` by using the `command_context`
argument instead. This also removes any remaining statefulness from those
classes that implement mach commands, ultimately making it easier to move
existing commands out of classes in a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D118058
2021-07-19 16:04:25 +00:00
Butkovits Atila
a07f790e42 Backed out changeset e1921c5112d8 (bug 1696251) for causing bustages complaining about 'CommandContext'. CLOSED TREE 2021-07-16 20:35:55 +03:00
Alex Lopez
190e03aaab Bug 1696251 - Replace self with command_context where possible in existing mach commands. r=mhentges,webdriver-reviewers,perftest-reviewers,whimboo
This step removes all the dependencies of mach commands to
having a MachCommandBase as the `self` by using the `command_context`
argument instead. This also removes any remaining statefulness from those
classes that implement mach commands, ultimately making it easier to move
existing commands out of classes in a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D118058
2021-07-16 15:51:29 +00:00
Yaron Tausky
768366d7b8 Bug 1496997 - Remove dom.serviceWorkers.parent_intercept pref r=asuth,dom-workers-and-storage-reviewers,perftest-reviewers,jgraham,sparky,webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D101788
2021-06-15 08:52:39 +00:00
Alex Lopez
1ee8086c02 Bug 1696251 - Refactor constructors in MachCommandBase subclasses to remove them. r=mhentges,remote-protocol-reviewers
Another step towards avoiding the need for classes in mach commands;
here we are removing constructors either by changing them into helpers
or by simple refactorings.

Differential Revision: https://phabricator.services.mozilla.com/D112434
2021-05-28 18:30:03 +00:00
Butkovits Atila
6bb47ac424 Backed out changeset 4b889750da57 (bug 1696251) for causing lint failures. CLOSED TREE 2021-05-28 01:43:11 +03:00
Alex Lopez
2e8613720d Bug 1696251 - Refactor constructors in MachCommandBase subclasses to remove them. r=mhentges,remote-protocol-reviewers
Another step towards avoiding the need for classes in mach commands;
here we are removing constructors either by changing them into helpers
or by simple refactorings.

Differential Revision: https://phabricator.services.mozilla.com/D112434
2021-05-27 21:03:46 +00:00
Alex Lopez
455d9a088b Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers
As an intermediate step to allow mach commands as standalone functions, the MachCommandBase
subclass instance that currently corresponds to self has to be made available as a separate
argument (named command_context).

Differential Revision: https://phabricator.services.mozilla.com/D109650
2021-05-17 16:15:58 +00:00
Butkovits Atila
2e34e363b9 Backed out 2 changesets (bug 1696251) for causing js-bench-sm failures. CLOSED TREE
Backed out changeset 1c84c9a34575 (bug 1696251)
Backed out changeset e169193b7423 (bug 1696251)
2021-04-23 02:53:36 +03:00
Alex Lopez
d1a82b8092 Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers
As an intermediate step to allow mach commands as standalone functions, the MachCommandBase
subclass instance that currently corresponds to self has to be made available as a separate
argument (named command_context).

Differential Revision: https://phabricator.services.mozilla.com/D109650
2021-04-22 18:56:15 +00:00
Cosmin Sabou
785f9b8a87 Backed out changeset d4a5d8567977 (bug 1696251) for non-unified build bustages. CLOSED TREE 2021-04-19 19:43:31 +03:00
Alex Lopez
75dfe35468 Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers
As an intermediate step to allow mach commands as standalone functions, the MachCommandBase
subclass instance that currently corresponds to self has to be made available as a separate
argument (named command_context).

Differential Revision: https://phabricator.services.mozilla.com/D109650
2021-04-19 16:15:11 +00:00
Cosmin Sabou
960ace0eea Bug 1690475 - Fix lint error on mach_commands.py. a=lint-fix 2021-02-23 19:55:30 +02:00
Henrik Skupin
3b79ee16fe Bug 1690475 - [remote] Move puppeteer-expected.json into test folder. r=remote-protocol-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D106063
2021-02-23 17:37:03 +00:00
Henrik Skupin
c1aa949ca0 Bug 1693021 - [puppeteer] Add --enable-webrender argument to mach command. r=remote-protocol-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D105361
2021-02-17 08:48:57 +00:00
Henrik Skupin
45553af4bb Bug 1683392 - [puppeteer] Use "npm ci" only when tests are run on TaskCluster. r=remote-protocol-reviewers,jdescottes
This patch adds a new "--ci" argument for the
"mach puppeteer-test" command. As such it can
also be used locally to simulate a test job in CI.

Differential Revision: https://phabricator.services.mozilla.com/D101780
2021-02-01 10:59:38 +00:00
Maja Frydrychowicz
ef2934709b Bug 1672461 - [remote] Pin package dependencies when installing Puppeteer in Mozilla CI r=remote-protocol-reviewers,whimboo
Calling `npm ci` instead of `npm install` generates a reproducible
node_modules directory based on the entries in Puppeteer's `package-lock.json`

The most-recent Puppeteer sync (Bug 1670286) commits package-lock.json
to mozilla-central for the first time.

Differential Revision: https://phabricator.services.mozilla.com/D97811
2020-12-04 15:08:17 +00:00
Maja Frydrychowicz
3ac661f84d Bug 1670286 - [puppeteer] Remove unwanted docs directories when vendoring r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D97808
2020-12-04 09:11:46 +00:00
Ricky Stewart
02a7b4ebdf Bug 1654103: Standardize on Black for Python code in mozilla-central.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Bogdan Tara
da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart
c0cea3b0fa Bug 1654103: Standardize on Black for Python code in mozilla-central. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Maja Frydrychowicz
239b7b4bc9 Bug 1671725 - [puppeteer] Avoid recording second test status after timeout r=remote-protocol-reviewers,whimboo
This prevents intermittent orange jobs where an additional test result is
counted after the test has already ended.

Differential Revision: https://phabricator.services.mozilla.com/D94362
2020-10-22 14:11:21 +00:00
Maja Frydrychowicz
ded3e267ad Bug 1671725 - [puppeteer] Increase mocha timeout to 20 seconds. r=remote-protocol-reviewers,jgraham,whimboo
We originally set 15s to keep the overall job duration under 30 minutes.
Since then, we hit timeouts much less frequently and should be able to
afford a longer timeout. The Puppeteer project's default test timeout
is currently 25 seconds.

Also skipping a Page test due to an async Firefox-specific protocol
error that interferes with teardown.

Differential Revision: https://phabricator.services.mozilla.com/D94245
2020-10-22 14:11:16 +00:00
Dorel Luca
1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Ricky Stewart
50762dacab Bug 1654103: Standardize on Black for Python code in mozilla-central. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Ricky Stewart
31755b431d Bug 1657650 - Require that Mach command providers subclass MachCommandBase. r=remote-protocol-reviewers,marionette-reviewers,maja_zf,mhentges,froydnj
Today we don't require that `mach` `CommandProvider`s subclass from any particular parent class and we're very lax about the requirements they must meet. While that's convenient in certain circumstances, it has some unfortunate implications for feature development.

Today the only requirements that we have for `CommandProvider`s are that they have an `__init__()` method that takes either 1 or 2 arguments, the second of which must be called `context` and is populated with the `mach` `CommandContext`. Again, while this flexibility is occasionally convenient, it is limiting. As we add features to `mach`, having a better idea what the shape of our `CommandProvider`s are and how we can instantiate them and use them is increasingly important, and this gives us additional control when having `mach` configure `CommandProvider`s based on data that is only available at the `mach` level. In particular, we plan to leverage this in bugs 985141 and 1654074.

Here we add validation to the `CommandProvider` decorator to ensure all classes inherit from `MachCommandBase`, update all `CommandProvider`s in-tree to inherit from `MachCommandBase`, and update source and test code accordingly.

Follow-up work: we now require (de facto) that the `context` be populated with a `topdir` attribute by the `populate_context_handler` function, since instantiating the `MachCommandBase` requires a `topdir` be provided. This is fine for now in the interest of keeping this patch reasonably sized, but some additional refactoring could make this cleaner.

Differential Revision: https://phabricator.services.mozilla.com/D86255
2020-08-07 18:24:59 +00:00
Anny Gakhokidze
d6f531d3a5 Bug 1654922 - Part 2: Remove DocumentChannel pref from mach and mochitest tools, r=mattwoodrow,remote-protocol-reviewers,maja_zf
Depends on D85483

Differential Revision: https://phabricator.services.mozilla.com/D85484
2020-07-31 13:06:08 +00:00
Maja Frydrychowicz
0856418749 Bug 1651469 - [puppeteer-test] Report errors in mocha hooks r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D82813
2020-07-09 14:01:50 +00:00
Maja Frydrychowicz
9b12e5b93a Bug 1647439 - [remote] Clobber puppeteer lib/ when there are .ts changes r=remote-protocol-reviewers,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D82071
2020-07-02 18:52:55 +00:00
Maja Frydrychowicz
c0005663ae Bug 1647439 - Sync vendored puppeteer to v4.0.1 r=remote-protocol-reviewers,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D82070
2020-07-02 18:52:52 +00:00
Maja Frydrychowicz
d12c7d9231 Bug 1647439 - [remote] Don't record unexpected skips when there's no expectation metadata r=remote-protocol-reviewers,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D82068
2020-07-02 18:46:57 +00:00
Maja Frydrychowicz
3cde6129cc Bug 1647439 - [remote] Remove 'jobs' argument r=remote-protocol-reviewers,jgraham
The environment variable it sets has been removed upstream and in practice we
never run tests in parallel.

Differential Revision: https://phabricator.services.mozilla.com/D82067
2020-07-02 18:46:49 +00:00
Maja Frydrychowicz
2456548253 Bug 1647439 - [remote] Preserve custom mocha recorder when vendoring Puppeteer r=remote-protocol-reviewers,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D82066
2020-07-02 18:46:42 +00:00
Maja Frydrychowicz
408f595e19 Bug 1646923 - [remote] Add metadata checks for skipped and extra tests r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D80796
2020-06-25 05:39:22 +00:00
Maja Frydrychowicz
91ed2688dd Bug 1632710 - [puppeteer] vendor v3.1.0 r=remote-protocol-reviewers,whimboo,jgraham
This requires a custom mocha reporter under puppeteer/
and changes in output parsing.

Differential Revision: https://phabricator.services.mozilla.com/D77625
2020-06-05 18:53:38 +00:00
Maja Frydrychowicz
22b8a4c02c Bug 1632710 - [puppeteer] Remove experimental/ dir r=remote-protocol-reviewers,jgraham,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D77624
2020-06-02 20:49:00 +00:00
Ricky Stewart
7a15c311ac Bug 1639313 - Print usage if you call a bare mach vendor, mach cargo, or mach remote r=remote-protocol-reviewers,froydnj,whimboo
The architecture of `mach` does not make this easy to do from within one process, not least of all due to persistent global, mutable state. :( There may be another way to do this, I'm not saying it's completely impossible (and obviously with a significant enough refactor there's a way to make this happen), but subprocessing is a foolproof way to accomplish the same.

Differential Revision: https://phabricator.services.mozilla.com/D77374
2020-05-29 16:16:31 +00:00
James Graham
9c097cff23 Bug 1638978 - Convert mach puppeteer-test to Python 3, r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D77443
2020-05-29 12:37:45 +00:00
Henrik Skupin
02c8f20ea9 Bug 1638982 - [remote] Remove custom usage output for the remote command. r=remote-protocol-reviewers,maja_zf
This aligns our code with other mach commands that don't
show the command usage if no subcommand has been specified.

Differential Revision: https://phabricator.services.mozilla.com/D75900
2020-05-20 04:35:21 +00:00
Tooru Fujisawa
2108f90fcf Bug 1623965 - Improve error message when binary not found while testing. r=glandium,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,Bebe,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D67726
2020-04-21 11:58:04 +00:00
Henrik Skupin
ef795fd2ca Bug 1627780 - [remote] Add status mapping for Mocha's "CRASHED" status. r=remote-protocol-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D70039

--HG--
extra : moz-landing-system : lando
2020-04-07 15:25:52 +00:00