Closed Bug 1288885 Opened 8 years ago Closed 8 years ago

Use xpcshell tests rather than mochitests where possible.

Categories

(WebExtensions :: Untriaged, defect)

defect
Not set
normal

Tracking

(firefox50 fixed)

RESOLVED FIXED
mozilla50
Tracking Status
firefox50 --- fixed

People

(Reporter: kmag, Assigned: kmag)

References

Details

(Whiteboard: triaged)

Attachments

(11 files)

58 bytes, text/x-review-board-request
aswan
: review+
Details
58 bytes, text/x-review-board-request
aswan
: review+
Details
58 bytes, text/x-review-board-request
aswan
: review+
Details
58 bytes, text/x-review-board-request
aswan
: review+
Details
58 bytes, text/x-review-board-request
aswan
: review+
Details
58 bytes, text/x-review-board-request
aswan
: review+
Details
58 bytes, text/x-review-board-request
aswan
: review+
Details
58 bytes, text/x-review-board-request
aswan
: review+
Details
58 bytes, text/x-review-board-request
aswan
: review+
Details
58 bytes, text/x-review-board-request
aswan
: review+
Details
58 bytes, text/x-review-board-request
Details
      No description provided.
Most of the test helper code is derived from the SpecialPowers/ExtensionTestUtils
code that does the same. Eventually, the two implementations should probably
be unified, but I don't think it's worth the trouble for now.

Review commit: https://reviewboard.mozilla.org/r/66642/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/66642/
Attachment #8774013 - Flags: review?(aswan)
Attachment #8774014 - Flags: review?(aswan)
Attachment #8774015 - Flags: review?(aswan)
Attachment #8774016 - Flags: review?(aswan)
Attachment #8774017 - Flags: review?(aswan)
Attachment #8774018 - Flags: review?(aswan)
Attachment #8774019 - Flags: review?(aswan)
Attachment #8774020 - Flags: review?(aswan)
Attachment #8774021 - Flags: review?(aswan)
Comment on attachment 8774013 [details]
Bug 1288885: Support testing WebExtensions from xpcshell tests.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/66642/diff/1-2/
Comment on attachment 8774014 [details]
Bug 1288885: Migrate alarms tests to xpcshell.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/66644/diff/1-2/
Comment on attachment 8774015 [details]
Bug 1288885: Migrate simple extension mochitests to xpcshell.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/66646/diff/1-2/
Comment on attachment 8774016 [details]
Bug 1288885: Migrate localStorage mochitests to xpcshell.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/66648/diff/1-2/
Comment on attachment 8774017 [details]
Bug 1288885: Migrate bookmarks mochitests to xpcshell.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/66650/diff/1-2/
Comment on attachment 8774018 [details]
Bug 1288885: Migrate storage mochitests to xpcshell.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/66652/diff/1-2/
Comment on attachment 8774019 [details]
Bug 1288885: Migrate downloads mochitests to xpcshell.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/66654/diff/1-2/
Comment on attachment 8774020 [details]
Bug 1288885: Migrate background page mochitests to xpcshell.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/66656/diff/1-2/
Comment on attachment 8774021 [details]
Bug 1288885: Migrate history mochitests to xpcshell.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/66658/diff/1-2/
Comment on attachment 8774023 [details]
Bug 1288885: Split out the longest-running alarm tasks into separate units.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/66664/diff/1-2/
https://reviewboard.mozilla.org/r/66642/#review63652

<p>Agreed that converging the test support code so we don't maintain separate code for xpcshell and mochitest would be good...</p>

::: toolkit/components/extensions/Extension.jsm:60
(Diff revision 1)
>  XPCOMUtils.defineLazyModuleGetter(this, "MessageChannel",
>                                    "resource://gre/modules/MessageChannel.jsm");
>  XPCOMUtils.defineLazyModuleGetter(this, "AddonManager",
>                                    "resource://gre/modules/AddonManager.jsm");
>  
> +Cu.import("resource://gre/modules/ExtensionContent.jsm");

why is this needed?

::: toolkit/components/extensions/ExtensionXPCShellUtils.jsm:224
(Diff revision 1)
> +    });
> +  },
> +
> +  addonManagerStarted: false,
> +
> +  startAddonManager() {

I'm probably missing something obvious but where does this actually get called from?

::: toolkit/components/extensions/ExtensionXPCShellUtils.jsm:230
(Diff revision 1)
> +    let tmpD = this.currentScope.do_get_profile().clone();
> +    tmpD.append("tmp");
> +    tmpD.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
> +
> +
> +    let dirProvider = {
> +      getFile: function(prop, persistent) {
> +        persistent.value = false;
> +        if (prop == "TmpD") {
> +          return tmpD.clone();
> +        }
> +        return null;
> +      },
> +
> +      QueryInterface: XPCOMUtils.generateQI([Ci.nsIDirectoryServiceProvider]),
> +    };
> +    Services.dirsvc.registerProvider(dirProvider);
> +
> +
> +    this.currentScope.do_register_cleanup(() => {
> +      tmpD.remove(true);
> +      Services.dirsvc.unregisterProvider(dirProvider);
> +
> +      this.currentScope = null;
> +    });

Why do we need to override the temporary directory?
I'm also confused by the cleanup strategy, when the test finishes and the cleanup function is called, the temp directory goes away but the addon manager remains initialized.
I don't think this matters in practice due to the way xpcshell tests work but doing partial cleanup just feels very confusing to people who come along and try to understand this code later.

::: toolkit/components/extensions/ExtensionXPCShellUtils.jsm:273
(Diff revision 1)
> +    let manager = Cc["@mozilla.org/addons/integration;1"].getService(Ci.nsIObserver)
> +                                                         .QueryInterface(Ci.nsITimerCallback);
> +    manager.observe(null, "addons-startup", null);
> +  },
> +
> +  loadExtension(data, id = uuidGenerator.generateUUID().number) {

Can we keep this consistent with the mochitest version?  Adding the default generator over there would be reasonable but lets not make the two things that are called in the exact same way have subtly different defaults.
https://reviewboard.mozilla.org/r/66642/#review63652

> why is this needed?

Because code in this file relies on an instance of this module being loaded in the main process when an extension is started. mconley already has a pending patch that does the same to handle this when we stop creating non-remote browsers by default in e10s builds.

> I'm probably missing something obvious but where does this actually get called from?

I took it from my experiments patch. It's necessary for tests that use `useAddonManager: true`. It's not currently used by anything in-tree, but it will be.

> Why do we need to override the temporary directory?
> I'm also confused by the cleanup strategy, when the test finishes and the cleanup function is called, the temp directory goes away but the addon manager remains initialized.
> I don't think this matters in practice due to the way xpcshell tests work but doing partial cleanup just feels very confusing to people who come along and try to understand this code later.

It should actually be in `init` rather than `startAddonManager`. It's necessary for the sake of `Extensions.generate`, which stores files in the temporary directory.

> Can we keep this consistent with the mochitest version?  Adding the default generator over there would be reasonable but lets not make the two things that are called in the exact same way have subtly different defaults.

They work the same way. The only difference is the way the code is structured.
Whiteboard: triaged
Attachment #8774014 - Flags: review?(aswan) → review+
Comment on attachment 8774015 [details]
Bug 1288885: Migrate simple extension mochitests to xpcshell.

https://reviewboard.mozilla.org/r/66646/#review64084
Attachment #8774015 - Flags: review?(aswan) → review+
Comment on attachment 8774016 [details]
Bug 1288885: Migrate localStorage mochitests to xpcshell.

https://reviewboard.mozilla.org/r/66648/#review64090

::: toolkit/components/extensions/ExtensionXPCShellUtils.jsm:218
(Diff revision 2)
> +  profileDir: null,
>  
>    init(scope) {
>      this.currentScope = scope;
>  
> +    this.profileDir = scope.do_get_profile();

This doesn't actually seem to be related to the main change in this patch?
Attachment #8774016 - Flags: review?(aswan) → review+
https://reviewboard.mozilla.org/r/66650/#review64096

why the changes to the test logic?
also can you move this test to browser/components/extensions/test since the code being tested isn't in toolkit?
Attachment #8774018 - Flags: review?(aswan) → review+
https://reviewboard.mozilla.org/r/66648/#review64090

> This doesn't actually seem to be related to the main change in this patch?

It is. xpcshell tests don't get a profile directory unless they call `do_get_profile`, and localStorage doesn't work unless there's a profile.
https://reviewboard.mozilla.org/r/66650/#review64096

The logic is the same. The only difference is the expected indices, since xpcshell tests start with an empty bookmarks database.
https://reviewboard.mozilla.org/r/66654/#review64106

::: toolkit/components/extensions/test/xpcshell/test_ext_downloads_download.js:35
(Diff revision 2)
> +    let entries = downloadDir.directoryEntries;
> +    while (entries.hasMoreElements()) {
> +      let entry = entries.getNext().QueryInterface(Ci.nsIFile);
> +      ok(false, `Leftover file ${entry.path} in download directory`);
> +      entry.remove(false);
> +    }
> +
> +    downloadDir.remove(false);

If my memory is correct, I originally had this code this way but running ok() from a cleanup handler didn't work nicely.  So if this code actually triggers, instead of seeing a nice failure explaining the problem, you get an obscure error about "reported test result after test finished" or something.

::: toolkit/components/extensions/test/xpcshell/test_ext_downloads_misc.js:591
(Diff revision 2)
>  
>  add_task(function* test_pause_resume_cancel_badargs() {
>    let BAD_ID = 1000;
>  
>    let msg = yield runInExtension("pause", BAD_ID);
> -  info(JSON.stringify(msg));
> +  do_print(JSON.stringify(msg));

this looks like a stray debugging statement that could be safely removed.

::: toolkit/components/extensions/test/xpcshell/test_ext_downloads_misc.js:858
(Diff revision 2)
>  
>    msg = yield runInExtension("getFileIcon", id, {size: 128});
> -  is(msg.status, "error", "getFileIcon() fails");
> +  equal(msg.status, "error", "getFileIcon() fails");
>    ok(msg.errmsg.includes("Error processing size"), "size is too big");
> +
> +  webNav.close();

I think this won't run if something above throws an exception (or to be more precise, if one of the yielded promises rejects)
Comment on attachment 8774020 [details]
Bug 1288885: Migrate background page mochitests to xpcshell.

https://reviewboard.mozilla.org/r/66656/#review64110
Attachment #8774020 - Flags: review?(aswan) → review+
Attachment #8774021 - Flags: review?(aswan) → review+
Attachment #8774023 - Flags: review?(aswan) → review+
Comment on attachment 8774023 [details]
Bug 1288885: Split out the longest-running alarm tasks into separate units.

https://reviewboard.mozilla.org/r/66664/#review64114
Comment on attachment 8774017 [details]
Bug 1288885: Migrate bookmarks mochitests to xpcshell.

https://reviewboard.mozilla.org/r/66650/#review64118
Attachment #8774017 - Flags: review?(aswan) → review+
https://reviewboard.mozilla.org/r/66654/#review64106

> If my memory is correct, I originally had this code this way but running ok() from a cleanup handler didn't work nicely.  So if this code actually triggers, instead of seeing a nice failure explaining the problem, you get an obscure error about "reported test result after test finished" or something.

It's not an issue for xpcshell tests, but not running the cleanup if we bail out early is.

> I think this won't run if something above throws an exception (or to be more precise, if one of the yielded promises rejects)

It won't, but it's not really an issue. GC will clean it up in that case.
Comment on attachment 8774013 [details]
Bug 1288885: Support testing WebExtensions from xpcshell tests.

https://reviewboard.mozilla.org/r/66642/#review64646
Attachment #8774013 - Flags: review?(aswan) → review+
Comment on attachment 8774019 [details]
Bug 1288885: Migrate downloads mochitests to xpcshell.

https://reviewboard.mozilla.org/r/66654/#review64650
Attachment #8774019 - Flags: review?(aswan) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/8da1ed0adf15e8244e57f22c581bbee072a118b9
Bug 1288885: Support testing WebExtensions from xpcshell tests. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/2a6b728f83134c815e3c2b0cc0aceddced403ae5
Bug 1288885: Migrate alarms tests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/f9fd137c9691e75d9e01d61be14608e7f28c7815
Bug 1288885: Migrate simple extension mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/8f9b353347181aba8d2c5bbb8357251031367b27
Bug 1288885: Migrate localStorage mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/8c67ff2971ecc155ce26dc5d9905c5de7e4bfd4b
Bug 1288885: Migrate bookmarks mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/d520f1245f5c43d6ca9d4c60684db344e183b0d0
Bug 1288885: Migrate storage mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/abd51b3d2b52da0669680153e5321b9b843d6cd2
Bug 1288885: Migrate downloads mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/fca55647234643b6fde3b62b3337e491432ab0dc
Bug 1288885: Migrate background page mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/eeb6bc8a42e69e989bb70cc6daf56296936f60b0
Bug 1288885: Migrate history mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/43cf27f0e2edb5136c1fa3fe415841f52ee62ec9
Bug 1288885: Split out the longest-running alarm tasks into separate units. r=aswan
Backed these out for failure and crashes in test_ext_background_window_properties.js on Android in xpcshell and sets tests

https://hg.mozilla.org/integration/mozilla-inbound/rev/0e6a8f2f83bc78796124d8711af413a0120d8fda
https://hg.mozilla.org/integration/mozilla-inbound/rev/cbf0ba7fb62dcd88c82e8b0b3485b590d08912f1
https://hg.mozilla.org/integration/mozilla-inbound/rev/ca71e5fc9233252c1af5dfb924eb65e1b10b7674
https://hg.mozilla.org/integration/mozilla-inbound/rev/818d8bec0053ed3b3940dda5d713574cbc5a983d
https://hg.mozilla.org/integration/mozilla-inbound/rev/ed8bccdad264d14be530518f2c14896e8626ff7d
https://hg.mozilla.org/integration/mozilla-inbound/rev/f48a920ce8781ab00cdd96cf52f006805f0c03ec
https://hg.mozilla.org/integration/mozilla-inbound/rev/68f0efbb38b4f0462f1229f65440f126bea6c5b9
https://hg.mozilla.org/integration/mozilla-inbound/rev/6254ca38371816e02e356e5a3a2067c4e1af3128
https://hg.mozilla.org/integration/mozilla-inbound/rev/0391561d533b6131fddacb3939208f85f1b966e0
https://hg.mozilla.org/integration/mozilla-inbound/rev/0cd3154a94eb67a71fcacf70537b70a88d4baf04

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=43cf27f0e2edb5136c1fa3fe415841f52ee62ec9
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=32758701&repo=mozilla-inbound

23:40:11     INFO -  TEST-START | toolkit/components/extensions/test/xpcshell/test_ext_background_window_properties.js
23:40:27  WARNING -  TEST-UNEXPECTED-FAIL | toolkit/components/extensions/test/xpcshell/test_ext_background_window_properties.js | xpcshell return code: 139
23:40:27     INFO -  TEST-INFO took 16687ms
23:40:27     INFO -  >>>>>>>
23:40:27     INFO -  PROCESS | toolkit/components/extensions/test/xpcshell/test_ext_background_window_properties.js | xpcw: cd /storage/sdcard/tests/xpc/toolkit/components/extensions/test/xpcshell
23:40:27     INFO -  PROCESS | toolkit/components/extensions/test/xpcshell/test_ext_background_window_properties.js | xpcw: xpcshell -r /storage/sdcard/tests/xpc/c/httpd.manifest --greomni /data/local/xpcb/fennec-50.0a1.en-US.android-arm.apk -m -s -e const _HEAD_JS_PATH = "/storage/sdcard/tests/xpc/head.js"; -e const _MOZINFO_JS_PATH = "/storage/sdcard/tests/xpc/p/mozinfo.json"; -e const _TESTING_MODULES_DIR = "/storage/sdcard/tests/xpc/m"; -f /storage/sdcard/tests/xpc/head.js -e const _SERVER_ADDR = "localhost" -e const _HEAD_FILES = ["/storage/sdcard/tests/xpc/toolkit/components/extensions/test/xpcshell/head.js"]; -e const _TAIL_FILES = []; -e const _JSDEBUGGER_PORT = 0; -e const _TEST_FILE = ["test_ext_background_window_properties.js"]; -e const _TEST_NAME = "toolkit/components/extensions/test/xpcshell/test_ext_background_window_properties.js" -e _execute_test(); quit(0);
23:40:27     INFO -  (xpcshell/head.js) | test MAIN run_test pending (1)
23:40:27     INFO -  (xpcshell/head.js) | test run_next_test 0 pending (2)
23:40:27     INFO -  (xpcshell/head.js) | test MAIN run_test finished (2)
23:40:27     INFO -  running event loop
23:40:27     INFO -  toolkit/components/extensions/test/xpcshell/test_ext_background_window_properties.js | Starting testBackgroundWindowProperties
23:40:27     INFO -  (xpcshell/head.js) | test testBackgroundWindowProperties pending (2)
23:40:27     INFO -  "Extension loaded"
23:40:27     INFO -  (xpcshell/head.js) | test run_next_test 0 finished (2)
23:40:27     INFO -  PROCESS | toolkit/components/extensions/test/xpcshell/test_ext_background_window_properties.js | JavaScript strict warning: chrome://global/content/bindings/browser.xml, line 369: ReferenceError: reference to undefined property tabBrowser.localName
23:40:27     INFO -  "CONSOLE_MESSAGE: (warn) [JavaScript Warning: "ReferenceError: reference to undefined property tabBrowser.localName" {file: "chrome://global/content/bindings/browser.xml" line: 369}]"
23:40:27     INFO -  PROCESS | toolkit/components/extensions/test/xpcshell/test_ext_background_window_properties.js | Segmentation fault
23:40:27     INFO -  PROCESS | toolkit/components/extensions/test/xpcshell/test_ext_background_window_properties.js | 13
23:40:27     INFO -  <<<<<<<
23:40:28     INFO -  mozcrash Downloading symbols from: https://queue.taskcluster.net/v1/task/eakqDeHERkeE4UNsb2dCUg/artifacts/public/build/fennec-50.0a1.en-US.android-arm.crashreporter-symbols.zip
23:40:33     INFO -  mozcrash Copy/paste: /builds/slave/test/build/linux64-minidump_stackwalk /tmp/tmpzrCiGb/6f949705-350b-f8f9-58695754-45315cd7.dmp /tmp/tmpG0TtwJ
23:40:45     INFO -  mozcrash Saved minidump as /builds/slave/test/build/blobber_upload_dir/6f949705-350b-f8f9-58695754-45315cd7.dmp
23:40:45     INFO -  mozcrash Saved app info as /builds/slave/test/build/blobber_upload_dir/6f949705-350b-f8f9-58695754-45315cd7.extra
23:40:45  WARNING -  PROCESS-CRASH | toolkit/components/extensions/test/xpcshell/test_ext_background_window_properties.js | application crashed [@ mozilla::jni::GetEnvForThread]
23:40:45     INFO -  Crash dump filename: /tmp/tmpzrCiGb/6f949705-350b-f8f9-58695754-45315cd7.dmp
23:40:45     INFO -  Operating system: Android
23:40:45     INFO -                    0.0.0 Linux 2.6.29-gea477bb #1 Wed Sep 26 11:04:45 PDT 2012 armv7l
23:40:45     INFO -  CPU: arm
23:40:45     INFO -       ARMv7 ARM Cortex-A8 features: swp,half,thumb,fastmult,vfpv2,edsp,neon,vfpv3
23:40:45     INFO -       1 CPU
23:40:45     INFO -  Crash reason:  SIGSEGV
23:40:45     INFO -  Crash address: 0x0
23:40:45     INFO -  Process uptime: not available
23:40:45     INFO -  Thread 0 (crashed)
23:40:45     INFO -   0  libxul.so!mozilla::jni::GetEnvForThread [jni.h:43cf27f0e2ed : 1091 + 0x0]
23:40:45     INFO -       r0 = 0x00000000    r1 = 0xbe8e1f64    r2 = 0x00000000    r3 = 0x426df93c
23:40:45     INFO -       r4 = 0x00000000    r5 = 0x426df938    r6 = 0xbe8e1fa0    r7 = 0x47e13810
23:40:45     INFO -       r8 = 0xbe8e2110    r9 = 0x47e13c00   r10 = 0xbe8e2278   r12 = 0x42697130
23:40:45     INFO -       fp = 0xbe8e2354    sp = 0xbe8e1f60    lr = 0x41325cad    pc = 0x41325cbc
23:40:45     INFO -      Found by: given as instruction pointer in context
23:40:45     INFO -   1  libxul.so!mozilla::jni::Context<mozilla::java::GeckoAppShell, _jobject*>::Context [Refs.h:43cf27f0e2ed : 80 + 0x3]
23:40:45     INFO -       r4 = 0xbe8e1f88    r5 = 0x013ce4fe    r6 = 0xbe8e1fa0    r7 = 0x47e13810
23:40:45     INFO -       r8 = 0xbe8e2110    r9 = 0x47e13c00   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e1f78    pc = 0x41310661
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -   2  libxul.so!mozilla::java::GeckoAppShell::EnableScreenOrientationNotifications [GeneratedJNIWrappers.cpp:43cf27f0e2ed : 226 + 0x5]
23:40:45     INFO -       r4 = 0x47746ec0    r5 = 0x013ce4fe    r6 = 0xbe8e1fa0    r7 = 0x47e13810
23:40:45     INFO -       r8 = 0xbe8e2110    r9 = 0x47e13c00   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e1f80    pc = 0x4131112d
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -   3  libxul.so!mozilla::dom::ScreenOrientation::ScreenOrientation [ScreenOrientation.cpp:43cf27f0e2ed : 73 + 0x3]
23:40:45     INFO -       r4 = 0x47746ec0    r5 = 0x00000000    r6 = 0xbe8e1fa0    r7 = 0x47e13810
23:40:45     INFO -       r8 = 0xbe8e2110    r9 = 0x47e13c00   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e1fa0    pc = 0x40bd2305
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -   4  libxul.so!nsScreen::nsScreen [nsScreen.cpp:43cf27f0e2ed : 43 + 0x3]
23:40:45     INFO -       r4 = 0x4804fac0    r5 = 0x47746ec0    r6 = 0x47e13810    r7 = 0x47e13810
23:40:45     INFO -       r8 = 0xbe8e2110    r9 = 0x47e13c00   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e1fd0    pc = 0x40c3d2e3
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -   5  libxul.so!nsScreen::Create [nsScreen.cpp:43cf27f0e2ed : 37 + 0x3]
23:40:45     INFO -       r4 = 0xbe8e200c    r5 = 0xbe8e1fe4    r6 = 0x4804fac0    r7 = 0x47e13810
23:40:45     INFO -       r8 = 0xbe8e2110    r9 = 0x47e13c00   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e1fe0    pc = 0x40c3d335
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -   6  libxul.so!nsGlobalWindow::GetScreen [nsGlobalWindow.cpp:43cf27f0e2ed : 3806 + 0x9]
23:40:45     INFO -       r4 = 0x47e13800    r5 = 0x00000000    r6 = 0xbe8e2028    r7 = 0x4531e000
23:40:45     INFO -       r8 = 0xbe8e2110    r9 = 0x47e13c00   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e2000    pc = 0x40ba4c8b
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -   7  libxul.so!mozilla::dom::WindowBinding::get_screen [WindowBinding.cpp:43cf27f0e2ed : 2973 + 0x3]
23:40:45     INFO -       r4 = 0x00000000    r5 = 0x42525850    r6 = 0xbe8e2028    r7 = 0x4531e000
23:40:45     INFO -       r8 = 0xbe8e2110    r9 = 0x47e13c00   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e2020    pc = 0x40e7471b
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -   8  libxul.so!mozilla::dom::WindowBinding::genericGetter [WindowBinding.cpp:43cf27f0e2ed : 13980 + 0x3]
23:40:45     INFO -       r4 = 0x40e74701    r5 = 0x42525850    r6 = 0x00000000    r7 = 0x47e13800
23:40:45     INFO -       r8 = 0x40e77759    r9 = 0x47e13c00   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e2050    pc = 0x40e7782d
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -   9  libxul.so!js::InternalCallOrConstruct [jscntxtinlines.h:43cf27f0e2ed : 232 + 0x3]
23:40:45     INFO -       r4 = 0xbe8e2128    r5 = 0x4531e000    r6 = 0xbe8e20f0    r7 = 0xbe8e2098
23:40:45     INFO -       r8 = 0x40e77759    r9 = 0x47e13c00   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e2090    pc = 0x41c511e9
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -  10  libxul.so!js::Call [Interpreter.cpp:43cf27f0e2ed : 517 + 0x3]
23:40:45     INFO -       r4 = 0xbe8e20f0    r5 = 0x00000002    r6 = 0x47b76040    r7 = 0xffffff8c
23:40:45     INFO -       r8 = 0xbe8e2400    r9 = 0xbe8e21fc   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e20d8    pc = 0x41c513b3
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -  11  libxul.so!js::CallGetter [Interpreter.cpp:43cf27f0e2ed : 631 + 0x3]
23:40:45     INFO -       r4 = 0x00000000    r5 = 0x00000002    r6 = 0xbe8e2278    r7 = 0xbe8e2150
23:40:45     INFO -       r8 = 0xbe8e2400    r9 = 0xbe8e21fc   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e20e8    pc = 0x41c5141f
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -  12  libxul.so!CallGetter [NativeObject.cpp:43cf27f0e2ed : 1737 + 0x3]
23:40:45     INFO -       r4 = 0xbe8e2148    r5 = 0x47c5b008    r6 = 0xbe8e2270    r7 = 0x425f8e20
23:40:45     INFO -       r8 = 0x453247c4    r9 = 0xbe8e21fc   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e2138    pc = 0x41c5147b
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -  13  libxul.so!js::NativeGetProperty [NativeObject.cpp:43cf27f0e2ed : 1789 + 0xf]
23:40:45     INFO -       r4 = 0xbe8e21a8    r5 = 0x4531e000    r6 = 0x425f8d48    r7 = 0x425f8e20
23:40:45     INFO -       r8 = 0x453247c4    r9 = 0xbe8e21fc   r10 = 0xbe8e2278    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e2170    pc = 0x41c516db
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -  14  libxul.so!js::Wrapper::get [NativeObject.h:43cf27f0e2ed : 1478 + 0x9]
23:40:45     INFO -       r4 = 0x00000000    r5 = 0xbe8e21f4    r6 = 0x47b6b0d0    r7 = 0xbe8e2340
23:40:45     INFO -       r8 = 0x424bbc58    r9 = 0xbe8e2278   r10 = 0xbe8e2390    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e21e8    pc = 0x41bdfee7
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -  15  libxul.so!nsOuterWindowProxy::get [nsGlobalWindow.cpp:43cf27f0e2ed : 1014 + 0xf]
23:40:45     INFO -       r4 = 0xbe8e2400    r5 = 0xbe8e2348    r6 = 0xbe8e2354    r7 = 0x4531e000
23:40:45     INFO -       r8 = 0x424bbc58    r9 = 0xbe8e2278   r10 = 0xbe8e2390    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e2218    pc = 0x40ba841f
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -  16  libxul.so!js::Proxy::get [Proxy.cpp:43cf27f0e2ed : 310 + 0x7]
23:40:45     INFO -       r4 = 0x40ba83cd    r5 = 0x424bbc58    r6 = 0xbe8e2400    r7 = 0xbe8e2348
23:40:45     INFO -       r8 = 0xbe8e2270    r9 = 0xbe8e2354   r10 = 0xbe8e2390    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e2248    pc = 0x41bd960b
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -  17  libxul.so!js::jit::DoGetElemFallback [NativeObject.h:43cf27f0e2ed : 1477 + 0xb]
23:40:45     INFO -       r4 = 0x4636e350    r5 = 0x4531e000    r6 = 0xbe8e2468    r7 = 0x00000092
23:40:45     INFO -       r8 = 0xbe8e2420    r9 = 0xbe8e2368   r10 = 0x47164540    fp = 0xbe8e2354
23:40:45     INFO -       sp = 0xbe8e22a8    pc = 0x41dead49
23:40:45     INFO -      Found by: call frame info
23:40:45     INFO -  18  0x4282f9e2
23:40:45     INFO -       r4 = 0xbe8e2400    r5 = 0xbe8e2418    r6 = 0x00000000    r7 = 0xffffff82
23:40:45     INFO -       r8 = 0x00001844    r9 = 0x4636e350   r10 = 0x00000000    fp = 0xbe8e248c
23:40:45     INFO -       sp = 0xbe8e23f0    pc = 0x4282f9e4
23:40:45     INFO -      Found by: call frame info
Flags: needinfo?(kmaglione+bmo)
I'm not sure if bug 1285063 will land before this one, but if it does I think we'll need to have the calls to ExtensionManagement.registerScript and ExtensionManagement.registerSchema removed first.
It looks like the only tests that would be affected are the browser tests, history and bookmarks.
I'm just going to disable those tests on Android for now.
Flags: needinfo?(kmaglione+bmo)
https://hg.mozilla.org/integration/mozilla-inbound/rev/7cf25e2c60bebe17506582b213aa382c1cdeaa37
Bug 1288885: Support testing WebExtensions from xpcshell tests. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/0d9110f6340ac19845f5aeffc48703085f312915
Bug 1288885: Migrate alarms tests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/af745bd5c20928ef776a7c94c76cb9c87ac77c71
Bug 1288885: Migrate simple extension mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/f8d2367b1c62e9069bece909234c62320ec4f692
Bug 1288885: Migrate localStorage mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/642065cf0f131ce85447290ad737c0857dae9e65
Bug 1288885: Migrate bookmarks mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/50064b17c447b6e017347de5f80e210eec34368a
Bug 1288885: Migrate storage mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/82c269c1788e2825aaa8e517b7644700e0ce4170
Bug 1288885: Migrate downloads mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/ab0e22ff676f205274c490bcd04bcdeb4bf5e042
Bug 1288885: Migrate background page mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/65c77163c69fb006738b598be090ac49c3ae5826
Bug 1288885: Migrate history mochitests to xpcshell. r=aswan

https://hg.mozilla.org/integration/mozilla-inbound/rev/ef7029b01f880c3825cd59743ee02e0c233d6f7f
Bug 1288885: Split out the longest-running alarm tasks into separate units. r=aswan
Blocks: 1290598
Product: Toolkit → WebExtensions
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: