Bug 1444502: Remove support for installing unpacked extensions. r=aswan

This retains support for installing unpacked dictionaries, since Hunspell only
supports loading dictionaries from ordinary filesystem paths.

Unpacked extensions are no longer supported on production, except during
development. WebExtensions have no support for the unpacked flag at all, and
specially signed legacy extensions are forbidden from using it, so there's no
point in maintaining support for this install code. Or, more importantly, for
running a nearly complete duplicated set of tests in order to exercise it.

MozReview-Commit-ID: 1fKVgSelJQ8

--HG--
extra : rebase_source : a2e9086a3d050b66eab9c17fff9c2f7189911832
extra : amend_source : da8f6425ec74a824a3d19f13bb4eb51980cd64c1
This commit is contained in:
Kris Maglione 2018-03-09 12:45:59 -08:00
Родитель 2e586e022b
Коммит a25db8235e
14 изменённых файлов: 347 добавлений и 465 удалений

Просмотреть файл

@ -5099,7 +5099,6 @@ pref("browser.meta_refresh_when_inactive.disabled", false);
pref("xpinstall.whitelist.required", true);
// Only Firefox requires add-on signatures
pref("xpinstall.signatures.required", false);
pref("extensions.alwaysUnpack", false);
pref("extensions.minCompatiblePlatformVersion", "2.0");
pref("extensions.webExtensionsMinPlatformVersion", "42.0a1");
pref("extensions.legacy.enabled", true);

Просмотреть файл

@ -114,7 +114,6 @@ function getFile(path, base = null) {
const PREF_EM_UPDATE_BACKGROUND_URL = "extensions.update.background.url";
const PREF_EM_UPDATE_URL = "extensions.update.url";
const PREF_XPI_SIGNATURES_DEV_ROOT = "xpinstall.signatures.dev-root";
const PREF_XPI_UNPACK = "extensions.alwaysUnpack";
const PREF_INSTALL_REQUIREBUILTINCERTS = "extensions.install.requireBuiltInCerts";
const FILE_RDF_MANIFEST = "install.rdf";
const FILE_WEB_MANIFEST = "manifest.json";
@ -338,7 +337,6 @@ async function loadManifestFromWebManifest(aUri) {
addon.version = manifest.version;
addon.type = extension.type === "extension" ?
"webextension" : `webextension-${extension.type}`;
addon.unpack = false;
addon.strictCompatibility = true;
addon.bootstrap = true;
addon.multiprocessCompatible = true;
@ -539,7 +537,6 @@ async function loadManifestFromRDF(aUri, aStream) {
for (let prop of PROP_METADATA) {
addon[prop] = getRDFProperty(ds, root, prop);
}
addon.unpack = getRDFProperty(ds, root, "unpack") == "true";
if (!addon.type) {
addon.type = addon.internalName ? "theme" : "extension";
@ -1729,8 +1726,6 @@ class AddonInstall {
let stagedAddon = this.installLocation.getStagingDir();
(async () => {
let installedUnpacked = 0;
await this.installLocation.requestStagingDir();
// remove any previously staged files
@ -1738,7 +1733,7 @@ class AddonInstall {
stagedAddon.append(`${this.addon.id}.xpi`);
installedUnpacked = await this.stageInstall(requiresRestart, stagedAddon, isUpgrade);
await this.stageInstall(requiresRestart, stagedAddon, isUpgrade);
if (requiresRestart) {
this.state = AddonManager.STATE_INSTALLED;
@ -1842,7 +1837,6 @@ class AddonInstall {
XPIProvider.unloadBootstrapScope(this.addon.id);
}
}
XPIProvider.setTelemetry(this.addon.id, "unpacked", installedUnpacked);
recordAddonTelemetry(this.addon);
// Notify providers that a new theme has been enabled.
@ -1875,16 +1869,13 @@ class AddonInstall {
let stagedJSON = stagedAddon.clone();
stagedJSON.leafName = this.addon.id + ".json";
let installedUnpacked = 0;
// First stage the file regardless of whether restarting is necessary
if (this.addon.unpack || Services.prefs.getBoolPref(PREF_XPI_UNPACK, false)) {
if (this.addon.unpack) {
logger.debug("Addon " + this.addon.id + " will be installed as " +
"an unpacked directory");
stagedAddon.leafName = this.addon.id;
await OS.File.makeDir(stagedAddon.path);
await ZipUtils.extractFilesAsync(this.file, stagedAddon);
installedUnpacked = 1;
} else {
logger.debug(`Addon ${this.addon.id} will be installed as a packed xpi`);
stagedAddon.leafName = this.addon.id + ".xpi";
@ -1905,8 +1896,6 @@ class AddonInstall {
this.existingAddon.pendingUpgrade = this.addon;
}
}
return installedUnpacked;
}
/**

Просмотреть файл

@ -4929,6 +4929,10 @@ AddonInternal.prototype = {
return this.signedState > AddonManager.SIGNEDSTATE_MISSING;
},
get unpack() {
return this.type === "dictionary";
},
get isCompatible() {
return this.isCompatibleWith();
},
@ -6540,11 +6544,6 @@ class SystemAddonInstallLocation extends MutableDirectoryInstallLocation {
return false;
}
if (aAddon.unpack) {
logger.warn(`System add-on ${aAddon.id} isn't a packed add-on.`);
return false;
}
if (!aAddon.bootstrap) {
logger.warn(`System add-on ${aAddon.id} isn't restartless.`);
return false;

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Просмотреть файл

@ -1,4 +1,3 @@
/* globals Services, TEST_UNPACKED: true */
/* exported TEST_UNPACKED */
Services.prefs.setBoolPref("extensions.alwaysUnpack", true);
TEST_UNPACKED = true;

Просмотреть файл

@ -1,54 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
function run_test() {
do_test_pending();
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1");
startupManager();
installAllFiles([do_get_file("data/test_bug526598_1.xpi"),
do_get_file("data/test_bug526598_2.xpi")], function() {
restartManager();
AddonManager.getAddonsByIDs(["bug526598_1@tests.mozilla.org",
"bug526598_2@tests.mozilla.org"],
callback_soon(function([a1, a2]) {
Assert.notEqual(a1, null);
Assert.ok(a1.hasResource("install.rdf"));
let uri = a1.getResourceURI("install.rdf");
Assert.ok(uri instanceof AM_Ci.nsIFileURL);
let file = uri.file;
Assert.ok(file.exists());
Assert.ok(file.isReadable());
Assert.ok(file.isWritable());
Assert.notEqual(a2, null);
Assert.ok(a2.hasResource("install.rdf"));
uri = a2.getResourceURI("install.rdf");
Assert.ok(uri instanceof AM_Ci.nsIFileURL);
file = uri.file;
Assert.ok(file.exists());
Assert.ok(file.isReadable());
Assert.ok(file.isWritable());
a1.uninstall();
a2.uninstall();
restartManager();
AddonManager.getAddonsByIDs(["bug526598_1@tests.mozilla.org",
"bug526598_2@tests.mozilla.org"],
function([newa1, newa2]) {
Assert.equal(newa1, null);
Assert.equal(newa2, null);
executeSoon(do_test_finished);
});
}));
});
}

Просмотреть файл

@ -1,37 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
function run_test() {
do_test_pending();
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1");
startupManager();
installAllFiles([do_get_file("data/test_bug541420.xpi")], function() {
restartManager();
AddonManager.getAddonByID("bug541420@tests.mozilla.org", function(addon) {
Assert.notEqual(addon, null);
Assert.ok(addon.hasResource("binary"));
let uri = addon.getResourceURI("binary");
Assert.ok(uri instanceof AM_Ci.nsIFileURL);
let file = uri.file;
Assert.ok(file.exists());
Assert.ok(file.isReadable());
Assert.ok(file.isWritable());
// We don't understand executable permissions on Windows since we don't
// support NTFS permissions so we don't need to test there. OSX's isExecutable
// only tests if the file is an application so it is better to just check the
// raw permission bits
if (!("nsIWindowsRegKey" in Ci))
Assert.ok((file.permissions & 0o100) == 0o100);
executeSoon(do_test_finished);
});
});
}

Просмотреть файл

@ -64,10 +64,7 @@ function setOldModificationTime() {
shutdownManager();
let extension = gProfD.clone();
extension.append("extensions");
if (Services.prefs.getBoolPref("extensions.alwaysUnpack"))
extension.append("addon1@tests.mozilla.org");
else
extension.append("addon1@tests.mozilla.org.xpi");
extension.append("addon1@tests.mozilla.org.xpi");
setExtensionModifiedTime(extension, Date.now() - MAKE_FILE_OLD_DIFFERENCE);
startupManager(false);
}

Просмотреть файл

@ -84,7 +84,7 @@ function writeRelativePointer(aId, aName) {
function run_test() {
// pointer files only work with unpacked directories
if (!Services.prefs.getBoolPref("extensions.alwaysUnpack"))
if (!TEST_UNPACKED)
return;
do_test_pending();

Просмотреть файл

@ -1,346 +0,0 @@
# The file is shared between the two main xpcshell manifest files.
[DEFAULT]
skip-if = toolkit == 'android'
tags = addons
[test_AddonRepository.js]
[test_reload.js]
# Bug 676992: test consistently hangs on Android
# There's a problem removing a temp file without manually clearing the cache on Windows
skip-if = os == "android" || os == "win"
tags = webextensions
[test_AddonRepository_cache.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses hardcoded ports in xpi files.
[test_AddonRepository_paging.js]
[test_LightweightThemeManager.js]
[test_backgroundupdate.js]
[test_bad_json.js]
[test_badschema.js]
[test_blocklistchange.js]
# Times out during parallel runs on desktop
requesttimeoutfactor = 2
tags = blocklist
[test_blocklist_prefs.js]
tags = blocklist
[test_blocklist_metadata_filters.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_blocklist_regexp.js]
skip-if = os == "android"
tags = blocklist
[test_bootstrap.js]
skip-if = true # Bug 1358846 Bug 1365021 Bug 676992
[test_bootstrap_const.js]
[test_bootstrap_resource.js]
[test_bug299716.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses hardcoded ports in xpi files.
[test_bug299716_2.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Hardcoded port in install.rdf.
[test_bug324121.js]
# Bug 676992: test consistently hangs on Android
# Bug 1026805: frequent hangs on OSX 10.8
skip-if = os == "android" || os == "mac"
run-sequentially = Uses hardcoded ports in xpi files.
[test_bug335238.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses hardcoded ports in xpi files.
tags = blocklist
[test_bug371495.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug384052.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug393285.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug394300.js]
# Bug 676992: test consistently hangs on Android
# Bug 1026805: frequent hangs on OSX 10.8
skip-if = os == "android" || os == "mac"
run-sequentially = Uses hardcoded ports in xpi files.
[test_bug397778.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug406118.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug425657.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug430120.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug449027.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug455906.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug465190.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug468528.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug470377_1.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug470377_1_strictcompat.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug470377_2.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug470377_3.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug470377_3_strictcompat.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug470377_4.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug514327_1.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug514327_2.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug514327_3.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug521905.js]
[test_bug526598.js]
[test_bug541420.js]
[test_bug559800.js]
[test_bug564030.js]
[test_bug566626.js]
[test_bug567184.js]
[test_bug569138.js]
[test_bug570173.js]
[test_bug576735.js]
[test_bug587088.js]
skip-if = os == "win" # Bug 1358846
[test_bug595081.js]
[test_bug595573.js]
[test_bug596607.js]
[test_bug616841.js]
# Bug 676992: test consistently fails on Android
fail-if = os == "android"
[test_bug619730.js]
tags = blocklist
[test_bug620837.js]
tags = blocklist
[test_bug655254.js]
[test_bug659772.js]
[test_bug675371.js]
[test_bug740612.js]
[test_bug753900.js]
[test_bug757663.js]
[test_bug953156.js]
[test_checkcompatibility.js]
[test_childprocess.js]
[test_ChromeManifestParser.js]
[test_compatoverrides.js]
[test_corrupt.js]
[test_corrupt_strictcompat.js]
[test_corruptfile.js]
[test_dataDirectory.js]
[test_db_path.js]
head =
[test_default_providers_pref.js]
[test_dictionary.js]
[test_disable.js]
[test_distribution.js]
[test_duplicateplugins.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_error.js]
[test_experiment.js]
[test_filepointer.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_general.js]
[test_getresource.js]
[test_gfxBlacklist_Device.js]
tags = blocklist
[test_gfxBlacklist_DriverNew.js]
tags = blocklist
[test_gfxBlacklist_Equal_DriverNew.js]
tags = blocklist
[test_gfxBlacklist_Equal_DriverOld.js]
tags = blocklist
[test_gfxBlacklist_Equal_OK.js]
tags = blocklist
[test_gfxBlacklist_GTE_DriverOld.js]
tags = blocklist
[test_gfxBlacklist_GTE_OK.js]
tags = blocklist
[test_gfxBlacklist_No_Comparison.js]
tags = blocklist
[test_gfxBlacklist_OK.js]
tags = blocklist
[test_gfxBlacklist_OS.js]
tags = blocklist
[test_gfxBlacklist_OSVersion_match.js]
tags = blocklist
[test_gfxBlacklist_OSVersion_mismatch_OSVersion.js]
tags = blocklist
[test_gfxBlacklist_OSVersion_mismatch_DriverVersion.js]
tags = blocklist
[test_gfxBlacklist_Vendor.js]
tags = blocklist
[test_gfxBlacklist_Version.js]
tags = blocklist
[test_gfxBlacklist_prefs.js]
# Bug 1248787 - consistently fails
skip-if = true
tags = blocklist
[test_install.js]
[test_install_icons.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_install_strictcompat.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses hardcoded ports in xpi files.
[test_isDebuggable.js]
[test_legacy.js]
skip-if = !allow_legacy_extensions || appname == "thunderbird"
[test_locale.js]
[test_locked.js]
[test_locked2.js]
[test_locked_strictcompat.js]
[test_manifest.js]
[test_mapURIToAddonID.js]
# Same as test_bootstrap.js
skip-if = os == "android"
[test_multiprocessCompatible.js]
[test_no_addons.js]
[test_onPropertyChanged_appDisabled.js]
[test_permissions.js]
[test_permissions_prefs.js]
[test_plugins.js]
[test_pluginchange.js]
# PluginProvider.jsm is not shipped on Android
skip-if = os == "android"
[test_pluginBlocklistCtp.js]
# Bug 676992: test consistently fails on Android
fail-if = os == "android"
tags = blocklist
[test_pref_properties.js]
[test_registry.js]
[test_safemode.js]
[test_signed_updatepref.js]
run-if = addon_signing
skip-if = require_signing || !allow_legacy_extensions
[test_signed_verify.js]
run-if = addon_signing
[test_signed_inject.js]
run-if = addon_signing
# Bug 1394122
skip-if = true
[test_signed_install.js]
run-if = addon_signing
run-sequentially = Uses hardcoded ports in xpi files.
[test_signed_long.js]
run-if = addon_signing
[test_startup.js]
# Bug 676992: test consistently fails on Android
fail-if = os == "android"
[test_syncGUID.js]
[test_strictcompatibility.js]
[test_targetPlatforms.js]
[test_types.js]
[test_undouninstall.js]
skip-if = os == "win" # Bug 1358846
[test_uninstall.js]
[test_update.js]
# Bug 676992: test consistently hangs on Android; bug 1330227 - linux
skip-if = os == "android" || os == "linux"
[test_update_webextensions.js]
tags = webextensions
[test_updateCancel.js]
[test_update_strictcompat.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_update_ignorecompat.js]
skip-if = true # Bug 676922 Bug 1437697
[test_updatecheck.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses hardcoded ports in xpi files.
[test_json_updatecheck.js]
[test_migrate_state_prefs.js]
[test_seen.js]
[test_updateid.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses hardcoded ports in xpi files.
[test_update_compatmode.js]
[test_upgrade.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses global XCurProcD dir.
[test_upgrade_strictcompat.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses global XCurProcD dir.
[test_overrideblocklist.js]
run-sequentially = Uses global XCurProcD dir.
tags = blocklist
[test_sideloads.js]
[test_sourceURI.js]
[test_webextension_icons.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_webextension.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_webextension_events.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_webextension_install.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_webextension_embedded.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_webextension_langpack.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_webextension_install_syntax_error.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_bootstrap_globals.js]
[test_bug1180901_2.js]
skip-if = os != "win"
[test_bug1180901.js]
skip-if = os != "win"
[test_switch_os.js]
# Bug 1246231
skip-if = os == "mac" && debug
[test_softblocked.js]
tags = blocklist
[test_ext_management.js]
skip-if = appname == "thunderbird"
tags = webextensions

Просмотреть файл

@ -11,4 +11,4 @@ tags = webextensions
[test_webextension_theme.js]
tags = webextensions
[include:xpcshell-shared.ini]
[test_filepointer.js]

Просмотреть файл

@ -6,7 +6,6 @@ firefox-appdir = browser
dupe-manifest =
support-files =
data/**
xpcshell-shared.ini
[test_addon_path_service.js]
[test_addonStartup.js]
@ -63,4 +62,341 @@ tags = webextensions
[test_system_allowed.js]
[test_upgrade_incompatible.js]
[include:xpcshell-shared.ini]
[test_AddonRepository.js]
[test_reload.js]
# Bug 676992: test consistently hangs on Android
# There's a problem removing a temp file without manually clearing the cache on Windows
skip-if = os == "android" || os == "win"
tags = webextensions
[test_AddonRepository_cache.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses hardcoded ports in xpi files.
[test_AddonRepository_paging.js]
[test_LightweightThemeManager.js]
[test_backgroundupdate.js]
[test_bad_json.js]
[test_badschema.js]
[test_blocklistchange.js]
# Times out during parallel runs on desktop
requesttimeoutfactor = 2
tags = blocklist
[test_blocklist_prefs.js]
tags = blocklist
[test_blocklist_metadata_filters.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_blocklist_regexp.js]
skip-if = os == "android"
tags = blocklist
[test_bootstrap.js]
skip-if = true # Bug 1358846 Bug 1365021 Bug 676992
[test_bootstrap_const.js]
[test_bootstrap_resource.js]
[test_bug299716.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses hardcoded ports in xpi files.
[test_bug299716_2.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Hardcoded port in install.rdf.
[test_bug324121.js]
# Bug 676992: test consistently hangs on Android
# Bug 1026805: frequent hangs on OSX 10.8
skip-if = os == "android" || os == "mac"
run-sequentially = Uses hardcoded ports in xpi files.
[test_bug335238.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses hardcoded ports in xpi files.
tags = blocklist
[test_bug371495.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug384052.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug393285.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug394300.js]
# Bug 676992: test consistently hangs on Android
# Bug 1026805: frequent hangs on OSX 10.8
skip-if = os == "android" || os == "mac"
run-sequentially = Uses hardcoded ports in xpi files.
[test_bug397778.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug406118.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug425657.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug430120.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug449027.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug455906.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug465190.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug468528.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug470377_1.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug470377_1_strictcompat.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug470377_2.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug470377_3.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug470377_3_strictcompat.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug470377_4.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_bug514327_1.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug514327_2.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug514327_3.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug521905.js]
[test_bug559800.js]
[test_bug564030.js]
[test_bug566626.js]
[test_bug567184.js]
[test_bug569138.js]
[test_bug570173.js]
[test_bug576735.js]
[test_bug587088.js]
skip-if = os == "win" # Bug 1358846
[test_bug595081.js]
[test_bug595573.js]
[test_bug596607.js]
[test_bug616841.js]
# Bug 676992: test consistently fails on Android
fail-if = os == "android"
[test_bug619730.js]
tags = blocklist
[test_bug620837.js]
tags = blocklist
[test_bug655254.js]
[test_bug659772.js]
[test_bug675371.js]
[test_bug740612.js]
[test_bug753900.js]
[test_bug757663.js]
[test_bug953156.js]
[test_checkcompatibility.js]
[test_childprocess.js]
[test_ChromeManifestParser.js]
[test_compatoverrides.js]
[test_corrupt.js]
[test_corrupt_strictcompat.js]
[test_corruptfile.js]
[test_dataDirectory.js]
[test_db_path.js]
head =
[test_default_providers_pref.js]
[test_dictionary.js]
[test_disable.js]
[test_distribution.js]
[test_duplicateplugins.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_error.js]
[test_experiment.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_general.js]
[test_getresource.js]
[test_gfxBlacklist_Device.js]
tags = blocklist
[test_gfxBlacklist_DriverNew.js]
tags = blocklist
[test_gfxBlacklist_Equal_DriverNew.js]
tags = blocklist
[test_gfxBlacklist_Equal_DriverOld.js]
tags = blocklist
[test_gfxBlacklist_Equal_OK.js]
tags = blocklist
[test_gfxBlacklist_GTE_DriverOld.js]
tags = blocklist
[test_gfxBlacklist_GTE_OK.js]
tags = blocklist
[test_gfxBlacklist_No_Comparison.js]
tags = blocklist
[test_gfxBlacklist_OK.js]
tags = blocklist
[test_gfxBlacklist_OS.js]
tags = blocklist
[test_gfxBlacklist_OSVersion_match.js]
tags = blocklist
[test_gfxBlacklist_OSVersion_mismatch_OSVersion.js]
tags = blocklist
[test_gfxBlacklist_OSVersion_mismatch_DriverVersion.js]
tags = blocklist
[test_gfxBlacklist_Vendor.js]
tags = blocklist
[test_gfxBlacklist_Version.js]
tags = blocklist
[test_gfxBlacklist_prefs.js]
# Bug 1248787 - consistently fails
skip-if = true
tags = blocklist
[test_install.js]
[test_install_icons.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_install_strictcompat.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses hardcoded ports in xpi files.
[test_isDebuggable.js]
[test_legacy.js]
skip-if = !allow_legacy_extensions || appname == "thunderbird"
[test_locale.js]
[test_locked.js]
[test_locked2.js]
[test_locked_strictcompat.js]
[test_manifest.js]
[test_mapURIToAddonID.js]
# Same as test_bootstrap.js
skip-if = os == "android"
[test_multiprocessCompatible.js]
[test_no_addons.js]
[test_onPropertyChanged_appDisabled.js]
[test_permissions.js]
[test_permissions_prefs.js]
[test_plugins.js]
[test_pluginchange.js]
# PluginProvider.jsm is not shipped on Android
skip-if = os == "android"
[test_pluginBlocklistCtp.js]
# Bug 676992: test consistently fails on Android
fail-if = os == "android"
tags = blocklist
[test_pref_properties.js]
[test_registry.js]
[test_safemode.js]
[test_signed_updatepref.js]
run-if = addon_signing
skip-if = require_signing || !allow_legacy_extensions
[test_signed_verify.js]
run-if = addon_signing
[test_signed_inject.js]
run-if = addon_signing
# Bug 1394122
skip-if = true
[test_signed_install.js]
run-if = addon_signing
run-sequentially = Uses hardcoded ports in xpi files.
[test_signed_long.js]
run-if = addon_signing
[test_startup.js]
# Bug 676992: test consistently fails on Android
fail-if = os == "android"
[test_syncGUID.js]
[test_strictcompatibility.js]
[test_targetPlatforms.js]
[test_types.js]
[test_undouninstall.js]
skip-if = os == "win" # Bug 1358846
[test_uninstall.js]
[test_update.js]
# Bug 676992: test consistently hangs on Android; bug 1330227 - linux
skip-if = os == "android" || os == "linux"
[test_update_webextensions.js]
tags = webextensions
[test_updateCancel.js]
[test_update_strictcompat.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
[test_update_ignorecompat.js]
skip-if = true # Bug 676922 Bug 1437697
[test_updatecheck.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses hardcoded ports in xpi files.
[test_json_updatecheck.js]
[test_migrate_state_prefs.js]
[test_seen.js]
[test_updateid.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses hardcoded ports in xpi files.
[test_update_compatmode.js]
[test_upgrade.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses global XCurProcD dir.
[test_upgrade_strictcompat.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
run-sequentially = Uses global XCurProcD dir.
[test_overrideblocklist.js]
run-sequentially = Uses global XCurProcD dir.
tags = blocklist
[test_sideloads.js]
[test_sourceURI.js]
[test_webextension_icons.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_webextension.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_webextension_events.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_webextension_install.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_webextension_embedded.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_webextension_langpack.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_webextension_install_syntax_error.js]
skip-if = appname == "thunderbird"
tags = webextensions
[test_bootstrap_globals.js]
[test_bug1180901_2.js]
skip-if = os != "win"
[test_bug1180901.js]
skip-if = os != "win"
[test_switch_os.js]
# Bug 1246231
skip-if = os == "mac" && debug
[test_softblocked.js]
tags = blocklist
[test_ext_management.js]
skip-if = appname == "thunderbird"
tags = webextensions