Commit Graph

184 Commits

Author SHA1 Message Date
Florian Quèze
c238647be5 Bug 1703583 - automatically reject waitForEvent, waitForCondition and topicObserved promises at the end of a browser test, r=Gijs.
Differential Revision: https://phabricator.services.mozilla.com/D111115
2021-04-19 21:56:04 +00:00
Bryce Seager van Dyk
bb3170ecf7 Bug 1702271 - Document waitForCondition msg arg. r=florian DONTBUILD
This also makes a couple of other fixes to existing comments to bring them in
line with the actual behaviour and names used.

Differential Revision: https://phabricator.services.mozilla.com/D110428
2021-03-31 17:40:51 +00:00
Florian Quèze
0815ca71ee Bug 1596165 - Remove the initial timer in TestUtils.waitForCondition, r=Gijs.
Depends on D108010

Differential Revision: https://phabricator.services.mozilla.com/D108011
2021-03-25 18:30:07 +00:00
Brindusan Cristian
53931c7cda Backed out 2 changesets (bug 1596165) for bc failures in browser_bookmarkProperties_folderSelection.js and browser_doorhanger_submit_telemetry.js. CLOSED TREE
Backed out changeset 4eccbb3d6549 (bug 1596165)
Backed out changeset 7d8fb53c8fcb (bug 1596165)
2021-03-25 00:48:01 +02:00
Florian Quèze
829131f372 Bug 1596165 - Remove the initial timer in TestUtils.waitForCondition, r=Gijs.
Depends on D108010

Differential Revision: https://phabricator.services.mozilla.com/D108011
2021-03-24 20:46:14 +00:00
Florian Quèze
06bedf6439 Bug 1697797 - Add profiler markers on BrowserTestUtils, TestUtils and SpecialPowers methods, r=mconley.
Differential Revision: https://phabricator.services.mozilla.com/D108009
2021-03-11 21:39:50 +00:00
Mark Banner
263d555274 Bug 1608272 - Remove 'this' as the second argument to 'ChromeUtils.import', use object destructuring instead (test-only changes). r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D104683
2021-02-11 22:02:15 +00:00
Julien Wajsberg
3c4ba8f56b Bug 1690631 - Add string matching helpers to Assert.jsm r=Gijs
This adds Assert.stringContains and Assert.stringMatches.

Differential Revision: https://phabricator.services.mozilla.com/D104254
2021-02-11 17:59:03 +00:00
Michael Cooper
bedfe8bf76 Bug 1690052 - Wait until Normandy has updated default branch prefs before processing recipes r=Gijs
The 30 second delay and 3x max retries were chosen arbitrarily.

This avoids a potential race condition where the RecipeRunner is triggered before Normandy has fully initialized. When this happens, recipes can wrongly unenroll or graduate, causing many problems and confusing telemetry.

Differential Revision: https://phabricator.services.mozilla.com/D103704
2021-02-03 17:39:03 +00:00
Valentin Gosu
2ae4bc3d94 Bug 1688838 - Also disable other prefs that may trigger OMT use of MockRegistry.jsm r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D103464
2021-02-02 10:56:16 +00:00
Valentin Gosu
bfc7a3df9d Bug 1688838 - Don't use the Windows Registry off main thread in nsNotifyAddrListener while a MockRegistry is active r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D103158
2021-01-28 13:41:39 +00:00
Sylvestre Ledru
c0f6fe8caf Bug 1562642 - Add missing license headers r=mhoye,marionette-reviewers,webdriver-reviewers,perftest-reviewers,tarek
Differential Revision: https://phabricator.services.mozilla.com/D97138
2020-11-17 02:06:54 +00:00
David Teller
8e0c2cbd01 Bug 1426219 - Assert.throws now cleans up recentJSDevError;r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D94973
2020-10-30 11:06:32 +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
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
Kris Maglione
bbfbd2f113 Bug 1660057: Add preferences for Fission rollout Normandy experiment. r=nika,marionette-reviewers,perftest-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D91066
2020-09-25 02:01:15 +00:00
Joel Maher
2f2dc70492 Bug 1654553 - fix browser chrome tests to support Object.is instead of ==. r=gbrown,preferences-reviewers,Gijs,rpl
fix browser chrome tests to support Object.is instead of ==

Differential Revision: https://phabricator.services.mozilla.com/D84539
2020-07-27 17:02:35 +00:00
Kris Maglione
9d78661f88 Bug 1649221: Update ChromeUtils.generateQI callers to pass strings. r=mccr8,remote-protocol-reviewers,marionette-reviewers,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,preferences-reviewers,agi,whimboo,Bebe,twisniewski
Differential Revision: https://phabricator.services.mozilla.com/D81594
2020-07-10 23:58:28 +00:00
Dave Townsend
e5989d6961 Bug 1634719: Drop the broken extraProps argument to newAppInfo. r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D73469
2020-05-14 20:34:28 +00:00
Ian Moody
011b59d595 Bug 1536556 - Replace raw thrown Cr.ERRORs with Components.Exception. r=mossop,remote-protocol-reviewers,marionette-reviewers,whimboo,necko-reviewers,geckoview-reviewers,valentin,agi
Raw Cr.ERROR don't get stack information, same as throwing JS literals instead
of `new Error()`s.

This was done automatically with a new eslint rule that will be introduced in
the next commit.  One instance of a raw Cr.ERROR was not replaced since it is
used in a test that specifically checks the preservation of raw Cr values in
XPCJS.  The rule will be disabled for that instance.

Differential Revision: https://phabricator.services.mozilla.com/D28073
2020-05-05 17:41:36 +00:00
Michael Cooper
8e29cbfa10 Bug 1630420 - Check last build from appinfo instead of tracking it manually in Normandy r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D72024
2020-05-04 18:27:40 +00:00
Mark Banner
15cfe23b88 Bug 1620542 - Automatically fix ESLint errors in .eslintrc.js files. r=mossop
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D65703

--HG--
extra : moz-landing-system : lando
2020-03-07 10:09:44 +00:00
Geoff Brown
5fc9f15115 Bug 1614640 - Improve reftest suite_start data to provide consistent group/manifest names even when not run-by-manifest; r=ahal
Reftest-family test suites can be "run-by-manifest" (reftest-plain, on desktop), or not
(all reftest-family suites on Android, crashtest and jsreftest on desktop). When not
run-by-manifest, code in reftest.jsm is used to format the suite_start data; when
run-by-manifest, code in runreftest.py is used. Currently, the reftest.jsm implementation
submits a simple array of test IDs -- no associated manifests -- possibly consistent with
the concept that tests are not being run/grouped by manifest.

This patch updates the reftest.jsm implementation to generate the same format of
suite_start data as the python implementation: An array of dictionaries mapping
manifest IDs to arrays of associated test IDs.

Differential Revision: https://phabricator.services.mozilla.com/D63875

--HG--
extra : moz-landing-system : lando
2020-02-26 22:34:44 +00:00
Matthew Noorenberghe
0043a257b3 Bug 1582116 - Use SpecialPowers.spawn for iframe accesses in test_prompt_async. r=sfoster
The `fail-if = fission` will be fixed by bug 1582117 now.

Differential Revision: https://phabricator.services.mozilla.com/D56862

--HG--
extra : moz-landing-system : lando
2019-12-12 23:11:13 +00:00
Geoff Brown
9e59579c39 Bug 1601076 - Fix some broken BUG_COMPONENTS in moz.build files; r=jmaher
Some of these were obvious typos. Others probably reflect once-correct components
that have been combined, split, or otherwise obsoleted; for these I've tried to
use the component associated with the bugs for recent changes to the affected files.

Differential Revision: https://phabricator.services.mozilla.com/D55756

--HG--
extra : moz-landing-system : lando
2019-12-04 13:55:45 +00:00
Emilio Cobos Álvarez
2c2c3c23dd Bug 1595285 - Fix TestUtils.waitForCondition to not use setInterval. r=mak
The test that is timing out with these patches does something relatively simple:

  await TestUtils.waitForCondition(async function() {
    let color = await ContentTask.spawn(browserWindow, async function() {
      /* Do stuff... */
    });
    return color == something;
  });

  await closeWindow(browserWindow);

Turns out that this can intermittently leak the window due to waitForCondition
using setInterval. setInterval can schedule multiple tasks while awaiting for
the inner ContentTask.

What this means, is that we may still have a ContentTask awaiting us when we get
to close the window. Closing the window makes the ContentTask not finish, and
thus we leak a promise keeping alive the window in gPromises:

  https://searchfox.org/mozilla-central/rev/6566d92dd46417a2f57e75c515135ebe84c9cef5/testing/mochitest/BrowserTestUtils/ContentTask.jsm#24

Which means that we keep alive the window all the way until shutdown.

Fix it by ensuring that we only run one task at a time.

Differential Revision: https://phabricator.services.mozilla.com/D52833

--HG--
extra : moz-landing-system : lando
2019-11-13 18:24:02 +00:00
Brindusan Cristian
161ad8dbc8 Backed out changeset ffc59a6dfbd5 (bug 1595285) for bc failures at browser_editBookmark_tags_liveUpdate.js. CLOSED TREE 2019-11-13 18:03:55 +02:00
Emilio Cobos Álvarez
2ab66736e7 Bug 1595285 - Fix TestUtils.waitForCondition to not use setInterval. r=mak
The test that is timing out with these patches does something relatively simple:

  await TestUtils.waitForCondition(async function() {
    let color = await ContentTask.spawn(browserWindow, async function() {
      /* Do stuff... */
    });
    return color == something;
  });

  await closeWindow(browserWindow);

Turns out that this can intermittently leak the window due to waitForCondition
using setInterval. setInterval can schedule multiple tasks while awaiting for
the inner ContentTask.

What this means, is that we may still have a ContentTask awaiting us when we get
to close the window. Closing the window makes the ContentTask not finish, and
thus we leak a promise keeping alive the window in gPromises:

  https://searchfox.org/mozilla-central/rev/6566d92dd46417a2f57e75c515135ebe84c9cef5/testing/mochitest/BrowserTestUtils/ContentTask.jsm#24

Which means that we keep alive the window all the way until shutdown.

Fix it by ensuring that we only run one task at a time.

Differential Revision: https://phabricator.services.mozilla.com/D52833

--HG--
extra : moz-landing-system : lando
2019-11-13 14:39:51 +00:00
Geoff Brown
dcb380399e Bug 1582785 - Enable some xpcshell tests on Android; r=geckoview-reviewers,agi
Most of these tests have been disabled for a long time; they run well
in the current test environment.

Differential Revision: https://phabricator.services.mozilla.com/D46642

--HG--
extra : moz-landing-system : lando
2019-09-23 22:43:55 +00:00
Victor Porof
2b036e45c5 Bug 1561435 - Format testing/, a=automatic-formatting
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D35962

--HG--
extra : source : c0948f31e520ca087279cf429ca5f1db5a8341b8
2019-07-05 11:01:24 +02:00
Ian Moody
e179244140 Bug 1541025 - testing/ automated ESLint no-throw-literal fixes. r=jmaher
Result of running:
$ mach eslint -funix testing/ | sed -Ee 's/:.+//' - | xargs sed -E \
    -e 's/throw ((["`])[^"]+\2);/throw new Error(\1);/g' \
    -e 's/throw ((["`])[^"]+\2 \+ [^ ";]+);/throw new Error(\1);/g' \
    -e 's/throw \(/throw new Error(/g' -i

Differential Revision: https://phabricator.services.mozilla.com/D25758

--HG--
extra : moz-landing-system : lando
2019-04-02 13:44:16 +00:00
Gijs Kruitbosch
0e774ff83f Bug 1541958 - remove nsIUserInfo which is unused, r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D26212

--HG--
extra : moz-landing-system : lando
2019-04-04 20:09:34 +00:00
Mark Banner
dba6983e75 Bug 1415265 - Remove now unnecessary .eslintrc.js files or entries. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D23850

--HG--
extra : moz-landing-system : lando
2019-03-28 09:38:14 +00:00
Johann Hofmann
6b5b6ed403 Bug 1529643 - Implement MitM priming on certificate error pages. r=keeler,mconley
Differential Revision: https://phabricator.services.mozilla.com/D22406

--HG--
extra : moz-landing-system : lando
2019-03-13 23:36:54 +00:00
Gurzau Raul
c747f02899 Backed out 2 changesets (bug 1529643) for eslint failure at NetErrorChild.jsm on a CLOSED TREE.
Backed out changeset 000dfd4caca0 (bug 1529643)
Backed out changeset e4718a35d70b (bug 1529643)
2019-03-14 01:09:43 +02:00
Johann Hofmann
1235c91131 Bug 1529643 - Implement MitM priming on certificate error pages. r=keeler,mconley
Differential Revision: https://phabricator.services.mozilla.com/D22406

--HG--
extra : moz-landing-system : lando
2019-03-13 21:04:02 +00:00
Edouard Oger
d391c790bc Bug 1532514 - Update sinon to v7.2.7. r=markh
Differential Revision: https://phabricator.services.mozilla.com/D22046

--HG--
extra : moz-landing-system : lando
2019-03-12 19:32:40 +00:00
Dorel Luca
eb794cd9b8 Backed out changeset 4b280518c7b1 (bug 1532514) for Browser-chrome failures in browser/components/syncedtabs/test/browser/browser_sidebar_syncedtabslist.js. CLOSED TREE 2019-03-12 03:59:56 +02:00
Edouard Oger
565385661c Bug 1532514 - Update sinon to v7.2.7. r=markh
Differential Revision: https://phabricator.services.mozilla.com/D22046

--HG--
extra : moz-landing-system : lando
2019-03-12 00:18:16 +00:00
Myk Melez
25349d2601 Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D17526

--HG--
extra : moz-landing-system : lando
2019-01-30 17:26:25 +00:00
Kris Maglione
ee6633da5c Bug 1478124: Part 1 - Update component mocks to replace and restore components sanely. r=froydnj
For static components, I don't intend to allow removing or replacing CID
entries, only contract ID entries. And I would generally prefer, when
restoring overrides of those classes, to not create a new dynamic factory
entry for the contract ID.

We already have the ability to mock components without either of those issues,
but registering a new CID entry for the mock (without unregistering the
original), and then restoring the original by calling `registerFactory` with a
null factory object.

This patch updates our existing mocks to behave that way, and paves the way
for the rest of the patches.

Differential Revision: https://phabricator.services.mozilla.com/D15031

--HG--
extra : rebase_source : 449f37ae8a3cc970e5f864d10e43e88d9e7e4bf6
extra : source : bedaa9c437ad30ea88bdc0e8fc83f4a2e980812e
2018-12-19 15:49:48 -08:00
arthur.iakab
c1fae83952 Backed out 16 changesets (bug 1478124) for failing android geckoview-junit CLOSED TREE
Backed out changeset fce62c77a56b (bug 1478124)
Backed out changeset eb2fa3b5edf7 (bug 1478124)
Backed out changeset 8dacce59fcc0 (bug 1478124)
Backed out changeset 012fd0107204 (bug 1478124)
Backed out changeset 496aaf774697 (bug 1478124)
Backed out changeset 21f4fda03159 (bug 1478124)
Backed out changeset b0444e0bc801 (bug 1478124)
Backed out changeset d94039b19943 (bug 1478124)
Backed out changeset 5d85deac61c2 (bug 1478124)
Backed out changeset 929fd654c9df (bug 1478124)
Backed out changeset 1ddd80d9e91a (bug 1478124)
Backed out changeset b8d2dfdfc324 (bug 1478124)
Backed out changeset f500020a273a (bug 1478124)
Backed out changeset dd00365ebb55 (bug 1478124)
Backed out changeset 538e40c5ee13 (bug 1478124)
Backed out changeset bedaa9c437ad (bug 1478124)
2019-01-29 10:03:06 +02:00
Kris Maglione
f1f3101eb5 Bug 1478124: Part 1 - Update component mocks to replace and restore components sanely. r=froydnj
For static components, I don't intend to allow removing or replacing CID
entries, only contract ID entries. And I would generally prefer, when
restoring overrides of those classes, to not create a new dynamic factory
entry for the contract ID.

We already have the ability to mock components without either of those issues,
but registering a new CID entry for the mock (without unregistering the
original), and then restoring the original by calling `registerFactory` with a
null factory object.

This patch updates our existing mocks to behave that way, and paves the way
for the rest of the patches.

Differential Revision: https://phabricator.services.mozilla.com/D15031

--HG--
extra : rebase_source : 61ef2435d764c2d9daee6a16515eb0efd94a6454
2018-12-19 15:49:48 -08:00
Kris Maglione
e930b89c34 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16750

--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
2019-01-17 10:18:31 -08:00
Mark Banner
0304564ac7 Bug 1415483 - Apply the new options to reject-importGlobalProperties across the codebase, remove unnecessary importGlobalProperties. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D13754

--HG--
extra : moz-landing-system : lando
2018-12-11 21:39:40 +00:00
Csoregi Natalia
9e970681f2 Backed out 2 changesets (bug 1415483) for multiple failures e.g. on test_message_manager_ipc.html. CLOSED TREE
Backed out changeset d00748de66fc (bug 1415483)
Backed out changeset 8dea94258f54 (bug 1415483)
2018-12-11 19:30:57 +02:00
Mark Banner
1abdc8687f Bug 1415483 - Apply the new options to reject-importGlobalProperties across the codebase, remove unnecessary importGlobalProperties. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D13754

--HG--
extra : moz-landing-system : lando
2018-12-11 14:09:44 +00:00