Closed Bug 1357490 Opened 7 years ago Closed 7 years ago

Run xpcshell tests in both in-process and OOP modes

Categories

(WebExtensions :: General, enhancement)

enhancement
Not set
normal

Tracking

(firefox56 fixed)

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: kmag, Assigned: kmag)

References

(Blocks 1 open bug)

Details

(Whiteboard: triaged)

Attachments

(2 files)

      No description provided.
Comment on attachment 8859298 [details]
Bug 1357490: Part 1: Run toolkit xpcshell tests in both in-process and OOP modes.

https://reviewboard.mozilla.org/r/131314/#review134958

Can you clarify what the intention is here?
We have two flags corresponding to whether content scripts and extension pages run remotely.  Remote extension pages and non-remote content scripts seems like a pointless combination but what about remote content scripts and non-remote extensions?  I don't think that's covered right now but it is the standard configuration in what we ship today.
This covers all three cases: remote extensions/remote content, non-remote extensions/remote content, non-remote extensions/non-remote content.
(In reply to Kris Maglione [:kmag] from comment #4)
> This covers all three cases: remote extensions/remote content, non-remote
> extensions/remote content, non-remote extensions/non-remote content.

does it?
I see that xpcshell.ini covers the both-non-remote case.  But it looks like xpcshell-remote.ini and xpcshell-e10s.ini cover different sets of tests but both run in the both-remote configuration.
Most of the tests in xpcshell.ini don't load extensions, so they don't need to be run in both modes. The exceptions are the legacy extension tests, which are broken, and I was planning to fix in a separate bug.
Whiteboard: triaged
Comment on attachment 8859298 [details]
Bug 1357490: Part 1: Run toolkit xpcshell tests in both in-process and OOP modes.

https://reviewboard.mozilla.org/r/131314/#review135804

This is not testing the configurations Kris mentioned in bug comments.
Also, please add comments to the .ini files explaining which is which so that people adding a test can figure out where new tests should be added without having to go figure out a bunch of other details.
Attachment #8859298 - Flags: review?(aswan) → review-
Comment on attachment 8859298 [details]
Bug 1357490: Part 1: Run toolkit xpcshell tests in both in-process and OOP modes.

https://reviewboard.mozilla.org/r/131314/#review145234

Looks good.  Could you add comments to the .ini files (at least xpcshell.ini and xpcshell-common.ini) explaining how to decide where a new test should go for the benefit of contributors who don't understand all the nuances of oop extensions?
Attachment #8859298 - Flags: review?(aswan) → review+
Comment on attachment 8859299 [details]
Bug 1357490: Part 2: Run browser xpcshell tests in both in-process and OOP modes.

https://reviewboard.mozilla.org/r/131316/#review145236

Same comment as part 1 about adding some notes to help people decide where to add new tests.

::: browser/components/extensions/test/xpcshell/xpcshell-remote.ini:2
(Diff revision 2)
>  [DEFAULT]
> -head = head.js
> +head = head.js head_remote.js

Is it possible to just reference the file directly from toolkit here?  with a ! prefix maybe?
Attachment #8859299 - Flags: review?(aswan) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/33f6f0354aded142e7a41d5a6209d0d95c4c7521
Bug 1357490: Part 1: Run toolkit xpcshell tests in both in-process and OOP modes. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/3737f31a7ec3dcc68068e817b4b016b76c857d9e
Bug 1357490: Part 2: Run browser xpcshell tests in both in-process and OOP modes. r=aswan
https://hg.mozilla.org/integration/mozilla-inbound/rev/29443725aebb641ae5f5ca069f2a422dd04e9acf
Bug 1357490: Part 1: Run toolkit xpcshell tests in both in-process and OOP modes. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/9cc319bef82dfc61326460d4d10340b2d6384534
Bug 1357490: Part 2: Run browser xpcshell tests in both in-process and OOP modes. r=aswan
https://hg.mozilla.org/integration/mozilla-inbound/rev/663351357fa7791bb6d08bf7b470ca5fcdccb77e
Bug 1357490: Part 1: Run toolkit xpcshell tests in both in-process and OOP modes. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/c32994ea5a67f9fadde1007701160902f6e5039f
Bug 1357490: Part 2: Run browser xpcshell tests in both in-process and OOP modes. r=aswan
Hi Kris, 

sorry had to back this out for failures like https://treeherder.mozilla.org/logviewer.html#?job_id=112482205&repo=mozilla-inbound
Flags: needinfo?(kmaglione+bmo)
Backout by cbook@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/223fa1db1569
Backed out changeset bbbf9be259bf 
https://hg.mozilla.org/integration/mozilla-inbound/rev/d8cce36f81c0
Backed out changeset c32994ea5a67 
https://hg.mozilla.org/integration/mozilla-inbound/rev/07d5b41dcaef
Backed out changeset 663351357fa7 for test failures in test_ext_startup_cache.js
https://hg.mozilla.org/integration/mozilla-inbound/rev/4ea831e6e7d12420bdc4695fc099c16ad7d09cd5
Bug 1357490: Part 1: Run toolkit xpcshell tests in both in-process and OOP modes. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/e017440a55a8be15f67be5e538416d7b240b4f65
Bug 1357490: Part 2: Run browser xpcshell tests in both in-process and OOP modes. r=aswan
Flags: needinfo?(kmaglione+bmo)
Backed out for frequently failing toolkit/components/extensions/test/xpcshell/test_ext_privacy_update.js on Linux x64 asan:

https://hg.mozilla.org/integration/mozilla-inbound/rev/0442031647ed3595ec950699e3685376cdc2c6b7
https://hg.mozilla.org/integration/mozilla-inbound/rev/9a59f21912ad9f6bf29bc17da407392f45db5188

Push with failure: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=e017440a55a8be15f67be5e538416d7b240b4f65&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable&filter-searchStr=xpcshell
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=112753623&repo=mozilla-inbound

[task 2017-07-08T07:19:30.361564Z] 07:19:30     INFO -  "CONSOLE_MESSAGE: (error) [JavaScript Error: "Remote extensions should not be enabled without also setting the layers.popups.compositing.enabled preference to true" {file: "resource://gre/modules/Extension.jsm" line: 756}]
[task 2017-07-08T07:19:30.361903Z] 07:19:30     INFO -  this.Extension<@resource://gre/modules/Extension.jsm:756:22
[task 2017-07-08T07:19:30.362298Z] 07:19:30     INFO -  startup@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/WebExtensionBootstrap.js:28:15
[task 2017-07-08T07:19:30.364495Z] 07:19:30     INFO -  callBootstrapMethod@resource://gre/modules/addons/XPIProvider.jsm:4367:11
[task 2017-07-08T07:19:30.364873Z] 07:19:30     INFO -  startInstall/<@resource://gre/modules/addons/XPIInstall.jsm:1935:13
[task 2017-07-08T07:19:30.365198Z] 07:19:30     INFO -  async*startInstall@resource://gre/modules/addons/XPIInstall.jsm:1835:6
[task 2017-07-08T07:19:30.366446Z] 07:19:30     INFO -  install@resource://gre/modules/addons/XPIInstall.jsm:1488:7
[task 2017-07-08T07:19:30.366841Z] 07:19:30     INFO -  install@resource://gre/modules/addons/XPIInstall.jsm:2243:7
[task 2017-07-08T07:19:30.371361Z] 07:19:30     INFO -  checkForBlockers@resource://gre/modules/addons/XPIInstall.jsm:1793:5
[task 2017-07-08T07:19:30.388354Z] 07:19:30     INFO -  install@resource://gre/modules/addons/XPIInstall.jsm:1485:7
[task 2017-07-08T07:19:30.391347Z] 07:19:30     INFO -  install@resource://gre/modules/addons/XPIInstall.jsm:2243:7
[task 2017-07-08T07:19:30.393049Z] 07:19:30     INFO -  checkPrompt/<@resource://gre/modules/addons/XPIInstall.jsm:1768:7
[task 2017-07-08T07:19:30.394725Z] 07:19:30     INFO -  async*checkPrompt@resource://gre/modules/addons/XPIInstall.jsm:1748:6
[task 2017-07-08T07:19:30.397739Z] 07:19:30     INFO -  install@resource://gre/modules/addons/XPIInstall.jsm:1482:7
[task 2017-07-08T07:19:30.400507Z] 07:19:30     INFO -  install@resource://gre/modules/addons/XPIInstall.jsm:2243:7
[task 2017-07-08T07:19:30.407303Z] 07:19:30     INFO -  downloadCompleted/<@resource://gre/modules/addons/XPIInstall.jsm:2559:9
[task 2017-07-08T07:19:30.408623Z] 07:19:30     INFO -  makeSafe/<@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/XPIProviderUtils.js:109:17
[task 2017-07-08T07:19:30.410100Z] 07:19:30     INFO -  completeAddon@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/XPIProviderUtils.js:98:5
[task 2017-07-08T07:19:30.410493Z] 07:19:30     INFO -  getCachedAddonByID@resource://gre/modules/addons/AddonRepository.jsm:553:7
[task 2017-07-08T07:19:30.412067Z] 07:19:30     INFO -  async*getRepositoryAddon@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/XPIProviderUtils.js:100:3
[task 2017-07-08T07:19:30.421612Z] 07:19:30     INFO -  getAddon/<@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/XPIProviderUtils.js:744:9
[task 2017-07-08T07:19:30.421962Z] 07:19:30     INFO -  _do_main@/home/worker/workspace/build/tests/xpcshell/head.js:221:3
[task 2017-07-08T07:19:30.422296Z] 07:19:30     INFO -  _execute_test@/home/worker/workspace/build/tests/xpcshell/head.js:550:5
[task 2017-07-08T07:19:30.423854Z] 07:19:30     INFO -  @-e:1:1
[task 2017-07-08T07:19:30.425624Z] 07:19:30     INFO -  "
[task 2017-07-08T07:19:30.429648Z] 07:19:30     INFO -  "CONSOLE_MESSAGE: (info) 1499498078433	DeferredSave.extensions.json	DEBUG	Starting timer"
[task 2017-07-08T07:19:30.437979Z] 07:19:30     INFO -  "CONSOLE_MESSAGE: (info) 1499498078440	addons.xpi	DEBUG	removeTemporaryFile: http://localhost:41287/addons/test_privacy-2.0.xpi removing temp file /tmp/tmp-6fr.xpi"
[task 2017-07-08T07:19:30.440149Z] 07:19:30     INFO -  PID 13719 | 1499498078589	DeferredSave.extensions.json	DEBUG	Starting write
[task 2017-07-08T07:19:30.442296Z] 07:19:30     INFO -  "CONSOLE_MESSAGE: (info) 1499498078589	DeferredSave.extensions.json	DEBUG	Starting write"
[task 2017-07-08T07:19:30.449678Z] 07:19:30     INFO -  PID 13719 | 1499498078630	DeferredSave.extensions.json	DEBUG	Write succeeded
[task 2017-07-08T07:19:30.451845Z] 07:19:30     INFO -  "CONSOLE_MESSAGE: (info) 1499498078630	DeferredSave.extensions.json	DEBUG	Write succeeded"
[task 2017-07-08T07:19:30.454098Z] 07:19:30     INFO -  "CONSOLE_MESSAGE: (error) [JavaScript Error: "InvalidStateError: A mutation operation was attempted on a database that did not allow mutations."]
[task 2017-07-08T07:19:30.455972Z] 07:19:30     INFO -  transaction@resource://gre/modules/IndexedDB.jsm:294:39
[task 2017-07-08T07:19:30.457835Z] 07:19:30     INFO -  objectStore@resource://gre/modules/IndexedDB.jsm:322:23
[task 2017-07-08T07:19:30.459737Z] 07:19:30     INFO -  get@resource://gre/modules/ExtensionParent.jsm:1360:22
[task 2017-07-08T07:19:30.461658Z] 07:19:30     INFO -  async*parseManifest@resource://gre/modules/Extension.jsm:880:12
[task 2017-07-08T07:19:30.463518Z] 07:19:30     INFO -  loadManifest@resource://gre/modules/Extension.jsm:543:7
[task 2017-07-08T07:19:30.469598Z] 07:19:30     INFO -  async*loadManifest@resource://gre/modules/Extension.jsm:885:12
[task 2017-07-08T07:19:30.471508Z] 07:19:30     INFO -  _startup@resource://gre/modules/Extension.jsm:1062:42
[task 2017-07-08T07:19:30.473386Z] 07:19:30     INFO -  async*startup@resource://gre/modules/Extension.jsm:1038:27
[task 2017-07-08T07:19:30.475686Z] 07:19:30     INFO -  startup@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/WebExtensionBootstrap.js:29:3
[task 2017-07-08T07:19:30.477864Z] 07:19:30     INFO -  callBootstrapMethod@resource://gre/modules/addons/XPIProvider.jsm:4367:11
[task 2017-07-08T07:19:30.480142Z] 07:19:30     INFO -  startInstall/<@resource://gre/modules/addons/XPIInstall.jsm:1935:13
[task 2017-07-08T07:19:30.485906Z] 07:19:30     INFO -  async*startInstall@resource://gre/modules/addons/XPIInstall.jsm:1835:6
[task 2017-07-08T07:19:30.487784Z] 07:19:30     INFO -  install@resource://gre/modules/addons/XPIInstall.jsm:1488:7
[task 2017-07-08T07:19:30.489695Z] 07:19:30     INFO -  install@resource://gre/modules/addons/XPIInstall.jsm:2243:7
[task 2017-07-08T07:19:30.493716Z] 07:19:30     INFO -  checkForBlockers@resource://gre/modules/addons/XPIInstall.jsm:1793:5
[task 2017-07-08T07:19:30.495635Z] 07:19:30     INFO -  install@resource://gre/modules/addons/XPIInstall.jsm:1485:7
[task 2017-07-08T07:19:30.497489Z] 07:19:30     INFO -  install@resource://gre/modules/addons/XPIInstall.jsm:2243:7
[task 2017-07-08T07:19:30.499375Z] 07:19:30     INFO -  checkPrompt/<@resource://gre/modules/addons/XPIInstall.jsm:1768:7
[task 2017-07-08T07:19:30.505720Z] 07:19:30     INFO -  async*checkPrompt@resource://gre/modules/addons/XPIInstall.jsm:1748:6
[task 2017-07-08T07:19:30.507922Z] 07:19:30     INFO -  install@resource://gre/modules/addons/XPIInstall.jsm:1482:7
[task 2017-07-08T07:19:30.510065Z] 07:19:30     INFO -  install@resource://gre/modules/addons/XPIInstall.jsm:2243:7
[task 2017-07-08T07:19:30.512251Z] 07:19:30     INFO -  downloadCompleted/<@resource://gre/modules/addons/XPIInstall.jsm:2559:9
[task 2017-07-08T07:19:30.518027Z] 07:19:30     INFO -  makeSafe/<@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/XPIProviderUtils.js:109:17
[task 2017-07-08T07:19:30.520032Z] 07:19:30     INFO -  completeAddon@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/XPIProviderUtils.js:98:5
[task 2017-07-08T07:19:30.522020Z] 07:19:30     INFO -  getCachedAddonByID@resource://gre/modules/addons/AddonRepository.jsm:553:7
[task 2017-07-08T07:19:30.524022Z] 07:19:30     INFO -  async*getRepositoryAddon@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/XPIProviderUtils.js:100:3
[task 2017-07-08T07:19:30.525982Z] 07:19:30     INFO -  getAddon/<@resource://gre/modules/addons/XPIProvider.jsm -> resource://gre/modules/addons/XPIProviderUtils.js:744:9
[task 2017-07-08T07:19:30.528005Z] 07:19:30     INFO -  _do_main@/home/worker/workspace/build/tests/xpcshell/head.js:221:3
[task 2017-07-08T07:19:30.533776Z] 07:19:30     INFO -  _execute_test@/home/worker/workspace/build/tests/xpcshell/head.js:550:5
[task 2017-07-08T07:19:30.541672Z] 07:19:30     INFO -  @-e:1:1
[task 2017-07-08T07:19:30.543448Z] 07:19:30     INFO -  "
Flags: needinfo?(kmaglione+bmo)
https://hg.mozilla.org/integration/mozilla-inbound/rev/9704283b0e3aa4d0e25b8ff79c4a12b4175ea220
Bug 1357490: Part 1: Run toolkit xpcshell tests in both in-process and OOP modes. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/9cdcf786a597cd6654f50c1f24394c645fbcca6a
Bug 1357490: Part 2: Run browser xpcshell tests in both in-process and OOP modes. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/b7230328f99d18b1e263c8b300c045342f3b3f0a
Bug 1357490: Follow-up - Wait for previous shutdown to complete before beginning startup. r=me
https://hg.mozilla.org/mozilla-central/rev/9704283b0e3a
https://hg.mozilla.org/mozilla-central/rev/9cdcf786a597
https://hg.mozilla.org/mozilla-central/rev/b7230328f99d
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
Flags: needinfo?(kmaglione+bmo)
Product: Toolkit → WebExtensions
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: