Bug 1449255: Part 23 - Remove test_bug587088.js, which has been disabled for a long time. r?aswan
MozReview-Commit-ID: K6uwZfbw6ta
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/addons/test_bug587088_1/install.rdf
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-
-<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#">
-
- <Description about="urn:mozilla:install-manifest">
- <em:id>addon1@tests.mozilla.org</em:id>
- <em:version>1.0</em:version>
-
- <!-- Front End MetaData -->
- <em:name>Bug 587088 Test</em:name>
-
- <em:targetApplication>
- <Description>
- <em:id>xpcshell@tests.mozilla.org</em:id>
- <em:minVersion>1</em:minVersion>
- <em:maxVersion>1</em:maxVersion>
- </Description>
- </em:targetApplication>
-
- </Description>
-</RDF>
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/addons/test_bug587088_1/testfile
+++ /dev/null
@@ -1,1 +0,0 @@
-Contents of add-on version 1
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/addons/test_bug587088_2/install.rdf
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-
-<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#">
-
- <Description about="urn:mozilla:install-manifest">
- <em:id>addon1@tests.mozilla.org</em:id>
- <em:version>2.0</em:version>
-
- <!-- Front End MetaData -->
- <em:name>Bug 587088 Test</em:name>
-
- <em:targetApplication>
- <Description>
- <em:id>xpcshell@tests.mozilla.org</em:id>
- <em:minVersion>1</em:minVersion>
- <em:maxVersion>1</em:maxVersion>
- </Description>
- </em:targetApplication>
-
- </Description>
-</RDF>
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/addons/test_bug587088_2/testfile
+++ /dev/null
@@ -1,1 +0,0 @@
-Contents of add-on version 2
--- a/toolkit/mozapps/extensions/test/xpcshell/test_bug587088.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_bug587088.js
@@ -3,27 +3,60 @@
*/
// Tests that trying to upgrade or uninstall an extension that has a file locked
// will roll back the upgrade or uninstall and retry at the next restart
const profileDir = gProfD.clone();
profileDir.append("extensions");
-function run_test() {
+const ADDONS = [
+ {
+ "install.rdf": {
+ "id": "addon1@tests.mozilla.org",
+ "version": "1.0",
+ "name": "Bug 587088 Test",
+ "targetApplications": [
+ {
+ "id": "xpcshell@tests.mozilla.org",
+ "minVersion": "1",
+ "maxVersion": "1"
+ }
+ ]
+ },
+ "testfile": "",
+ "testfile1": "",
+ },
+
+ {
+ "install.rdf": {
+ "id": "addon1@tests.mozilla.org",
+ "version": "2.0",
+ "name": "Bug 587088 Test",
+ "targetApplications": [
+ {
+ "id": "xpcshell@tests.mozilla.org",
+ "minVersion": "1",
+ "maxVersion": "1"
+ }
+ ]
+ },
+ "testfile": "",
+ "testfile2": "",
+ },
+];
+
+add_task(async function setup() {
// This is only an issue on windows.
if (!("nsIWindowsRegKey" in Ci))
return;
do_test_pending();
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2");
-
- startupManager();
- run_test_1();
-}
+});
function check_addon(aAddon, aVersion) {
Assert.notEqual(aAddon, null);
Assert.equal(aAddon.version, aVersion);
Assert.ok(aAddon.isActive);
Assert.ok(isExtensionInAddonsList(profileDir, aAddon.id));
Assert.ok(aAddon.hasResource("testfile"));
@@ -67,106 +100,93 @@ function check_addon_uninstalling(aAddon
Assert.ok(aAddon.hasResource("testfile"));
Assert.ok(aAddon.hasResource("testfile1"));
Assert.ok(!aAddon.hasResource("testfile2"));
Assert.equal(aAddon.pendingOperations, AddonManager.PENDING_UNINSTALL);
}
-function run_test_1() {
- installAllFiles([do_get_addon("test_bug587088_1")], function() {
- restartManager();
+add_task(async function test_1() {
+ await AddonTestUtils.promiseInstallXPI(ADDONS[0]);
- AddonManager.getAddonByID("addon1@tests.mozilla.org", function(a1) {
- check_addon(a1, "1.0");
+ await promiseRestartManager();
+
+ let a1 = await AddonManager.getAddonByID("addon1@tests.mozilla.org");
+ check_addon(a1, "1.0");
- // Lock either install.rdf for unpacked add-ons or the xpi for packed add-ons.
- let uri = a1.getResourceURI("install.rdf");
- if (uri.schemeIs("jar"))
- uri = a1.getResourceURI();
+ // Lock either install.rdf for unpacked add-ons or the xpi for packed add-ons.
+ let uri = a1.getResourceURI("install.rdf");
+ if (uri.schemeIs("jar"))
+ uri = a1.getResourceURI();
- let fstream = Cc["@mozilla.org/network/file-input-stream;1"].
- createInstance(Ci.nsIFileInputStream);
- fstream.init(uri.QueryInterface(Ci.nsIFileURL).file, -1, 0, 0);
+ let fstream = Cc["@mozilla.org/network/file-input-stream;1"].
+ createInstance(Ci.nsIFileInputStream);
+ fstream.init(uri.QueryInterface(Ci.nsIFileURL).file, -1, 0, 0);
- installAllFiles([do_get_addon("test_bug587088_2")], function() {
-
- check_addon_upgrading(a1);
-
- restartManager();
+ await AddonTestUtils.promiseInstallXPI(ADDONS[1]);
- AddonManager.getAddonByID("addon1@tests.mozilla.org", callback_soon(function(a1_2) {
- check_addon_upgrading(a1_2);
+ check_addon_upgrading(a1);
- restartManager();
+ await promiseRestartManager();
- AddonManager.getAddonByID("addon1@tests.mozilla.org", callback_soon(function(a1_3) {
- check_addon_upgrading(a1_3);
+ let a1_2 = await AddonManager.getAddonByID("addon1@tests.mozilla.org");
+ check_addon_upgrading(a1_2);
- fstream.close();
-
- restartManager();
+ await promiseRestartManager();
- AddonManager.getAddonByID("addon1@tests.mozilla.org", function(a1_4) {
- check_addon(a1_4, "2.0");
+ let a1_3 = await AddonManager.getAddonByID("addon1@tests.mozilla.org");
+ check_addon_upgrading(a1_3);
+
+ fstream.close();
- a1_4.uninstall();
- executeSoon(run_test_2);
- });
- }));
- }));
- });
- });
- });
-}
+ await promiseRestartManager();
+
+ let a1_4 = await AddonManager.getAddonByID("addon1@tests.mozilla.org");
+ check_addon(a1_4, "2.0");
+
+ a1_4.uninstall();
+});
// Test that a failed uninstall gets rolled back
-function run_test_2() {
- restartManager();
+add_task(async function test_2() {
+ await promiseRestartManager();
- installAllFiles([do_get_addon("test_bug587088_1")], async function() {
- await promiseRestartManager();
+ await AddonTestUtils.promiseInstallXPI(ADDONS[0]);
+ await promiseRestartManager();
- AddonManager.getAddonByID("addon1@tests.mozilla.org", callback_soon(async function(a1) {
- check_addon(a1, "1.0");
+ let a1 = await AddonManager.getAddonByID("addon1@tests.mozilla.org");
+ check_addon(a1, "1.0");
- // Lock either install.rdf for unpacked add-ons or the xpi for packed add-ons.
- let uri = a1.getResourceURI("install.rdf");
- if (uri.schemeIs("jar"))
- uri = a1.getResourceURI();
+ // Lock either install.rdf for unpacked add-ons or the xpi for packed add-ons.
+ let uri = a1.getResourceURI("install.rdf");
+ if (uri.schemeIs("jar"))
+ uri = a1.getResourceURI();
- let fstream = Cc["@mozilla.org/network/file-input-stream;1"].
- createInstance(Ci.nsIFileInputStream);
- fstream.init(uri.QueryInterface(Ci.nsIFileURL).file, -1, 0, 0);
+ let fstream = Cc["@mozilla.org/network/file-input-stream;1"].
+ createInstance(Ci.nsIFileInputStream);
+ fstream.init(uri.QueryInterface(Ci.nsIFileURL).file, -1, 0, 0);
- a1.uninstall();
+ a1.uninstall();
- check_addon_uninstalling(a1);
-
- await promiseRestartManager();
+ check_addon_uninstalling(a1);
- AddonManager.getAddonByID("addon1@tests.mozilla.org", callback_soon(async function(a1_2) {
- check_addon_uninstalling(a1_2, true);
+ await promiseRestartManager();
- await promiseRestartManager();
+ let a1_2 = await AddonManager.getAddonByID("addon1@tests.mozilla.org");
+ check_addon_uninstalling(a1_2, true);
- AddonManager.getAddonByID("addon1@tests.mozilla.org", callback_soon(async function(a1_3) {
- check_addon_uninstalling(a1_3, true);
+ await promiseRestartManager();
- fstream.close();
-
- await promiseRestartManager();
+ let a1_3 = await AddonManager.getAddonByID("addon1@tests.mozilla.org");
+ check_addon_uninstalling(a1_3, true);
- AddonManager.getAddonByID("addon1@tests.mozilla.org", function(a1_4) {
- Assert.equal(a1_4, null);
- var dir = profileDir.clone();
- dir.append(do_get_expected_addon_name("addon1@tests.mozilla.org"));
- Assert.ok(!dir.exists());
- Assert.ok(!isExtensionInAddonsList(profileDir, "addon1@tests.mozilla.org"));
+ fstream.close();
+
+ await promiseRestartManager();
- executeSoon(do_test_finished);
- });
- }));
- }));
- }));
- });
-}
+ let a1_4 = await AddonManager.getAddonByID("addon1@tests.mozilla.org");
+ Assert.equal(a1_4, null);
+ var dir = profileDir.clone();
+ dir.append(do_get_expected_addon_name("addon1@tests.mozilla.org"));
+ Assert.ok(!dir.exists());
+ Assert.ok(!isExtensionInAddonsList(profileDir, "addon1@tests.mozilla.org"));
+});
--- a/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
+++ b/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
@@ -75,18 +75,16 @@ skip-if = true # Bug 1358846 Bug 1365021
[test_bug1180901_2.js]
skip-if = os != "win"
[test_bug514327_2.js]
# Bug 676992: test consistently hangs on Android
skip-if = os == "android"
tags = blocklist
[test_bug521905.js]
[test_bug566626.js]
-[test_bug587088.js]
-skip-if = os == "win" # Bug 1358846
[test_bug595081.js]
[test_bug596607.js]
[test_cache_certdb.js]
run-if = addon_signing
[test_cacheflush.js]
[test_childprocess.js]
[test_compatoverrides.js]
[test_corrupt.js]