Closed Bug 1678068 Opened 3 years ago Closed 3 years ago

Most extension xpcshell tests (e.g. xpcshell-common.ini) are skipped on Android x86-64


(WebExtensions :: Android, task, P2)



(firefox85 fixed)

85 Branch
Tracking Status
firefox85 --- fixed


(Reporter: robwu, Assigned: agi)




(1 file, 2 obsolete files)

In bug 1546553, most of the xpcshell extension tests for Android were disabled on x86-86 Android devices (but still allowed for ARM). It is not clear why. A comment/patch states "The failures in toolkit/components/extensions are concerning and definitely require follow-up." . There has never been a followup, so here is the bug report.

I looked at a recent Treeherder job on mozilla-central, and noticed that xpcshell tests are only run on x86-64 Android devices, not ARM.

Together, this means that the majority of xpcshell extension tests do not run on Android.

The fact that these tests are skipped imposes a high cost on the maintainability of the extension implementation on the Android platform. We should look into enabling them.

Some new mobile implementations of the extension API depend on embedder code, which isn't supported (bug 1567341), but many other toolkit xpcshell extension tests should run just fine.

I can't find a metabug for xpcshell tests on Android+WebExtensions, so I'm addin ga see-also to bug 1563277 about mochitests instead, to make it easier to find this bug.

toolkit extension xcpshell tests (see report) that are independent of Android should be able to run.
There is work in progress to implement a downloads API on Android (bug 1538348) that depends on the embedder (Android-specific). That is a kind of xpcshell test that wouldn't be supported until bug 1567341 is resolved.

Still, it should be possible to re-enable the other xpcshell tests as mentioned in the report here.

See Also: → 1563277, 1567341, 1538348
Severity: -- → N/A
Type: defect → task
Priority: -- → P2
Blocks: 1680132

Thanks :)

Assignee: rob → agi
Pushed by
Re-enable extensions/xpcshell-common on Android. r=robwu

Agi - this test failure seems to be related to (the absence of) one of your follow-up patches.

The logcat output linked from the list of Artifacts ends with the following (I formatted it for readability):

xpcshell.ini:toolkit/components/extensions/test/xpcshell/test_ext_webRequest_set_cookie.js | Starting test_modifying_cookies_from_onHeadersReceived
(xpcshell/head.js) | test test_modifying_cookies_from_onHeadersReceived pending (2)
"Extension attached"
(xpcshell/head.js) | test run_next_test 1 finished (2)

WARN Loading extension '{f2d5d15a-4371-4ac6-9f34-ea54cb3215dc}': Reading manifest: Warning processing permissions: Error processing permissions.0: Value "browsingData" must either: must either [must either [must either [must either [be one of ["idle"], be one of ["activeTab"], be one of ["cookies"], or be one of ["webRequest", "webRequestBlocking"]], be one of ["clipboardRead", "clipboardWrite", "geolocation", "notifications"], be one of ["tabs"], be one of ["browserSettings"], be one of ["downloads", ""], be one of ["management"], be one of ["privacy"], be one of ["proxy"], or be one of ["webNavigation"]], be one of ["alarms", "mozillaAddons", "storage", "unlimitedStorage"], be one of ["geckoViewAddons", "nativeMessagingFromContent"], be one of ["contextualIdentities"], be one of ["dns"], be one of ["activityLog"], be one of ["networkStatus"], be one of ["telemetry"], or be one of ["theme"]], must either [must either [be

"CONSOLE_MESSAGE: (error) [JavaScript Error: "TypeError: can't access property "removeCookies", browser.browsingData is undefined" {file: "moz-extension://b4279e24-a7a9-4eb1-8e6e-1b1637ba59ba/%7B613fc072-978b-4804-bb21-b8ee30923bef%7D.js" line: 87}]"

Thanks Rob! I disabled that test for now on Android.

Flags: needinfo?(agi)
Pushed by
Re-enable extensions/xpcshell-common on Android. r=robwu
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch
Attachment #9192138 - Attachment is obsolete: true
Attachment #9192136 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.