Bug 1447903: Part 17 - Update test_bug335238.js to use only bootstrapped extensions. r?aswan draft
authorKris Maglione <maglione.k@gmail.com>
Wed, 21 Mar 2018 23:19:40 -0700
changeset 772388 acf26c09f7921707f2b05af789b4a9451fd8b152
parent 772387 3c1295b26d913ef5fbb3ca5ce9470d2ce8bb53b9
child 772389 7355788a2e8ea2e6b25ca38d83809d984455205b
push id103897
push usermaglione.k@gmail.com
push dateMon, 26 Mar 2018 01:31:53 +0000
reviewersaswan
bugs1447903, 335238
milestone61.0a1
Bug 1447903: Part 17 - Update test_bug335238.js to use only bootstrapped extensions. r?aswan MozReview-Commit-ID: WpgkmPV35X
toolkit/mozapps/extensions/test/addons/test_bug335238_1/install.rdf
toolkit/mozapps/extensions/test/addons/test_bug335238_2/install.rdf
toolkit/mozapps/extensions/test/addons/test_bug335238_3/install.rdf
toolkit/mozapps/extensions/test/addons/test_bug335238_4/install.rdf
toolkit/mozapps/extensions/test/xpcshell/head_addons.js
toolkit/mozapps/extensions/test/xpcshell/test_bug335238.js
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/addons/test_bug335238_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>bug335238_1@tests.mozilla.org</em:id>
-    <em:version>1.3.4</em:version>
-    
-    <em:targetApplication>
-      <Description>
-        <em:id>xpcshell@tests.mozilla.org</em:id>
-        <em:minVersion>1</em:minVersion>
-        <em:maxVersion>5</em:maxVersion>
-      </Description>
-    </em:targetApplication>
-    
-    <em:name>Bug 335238</em:name>
-    <em:updateURL>http://example.com/0?id=%ITEM_ID%&amp;version=%ITEM_VERSION%&amp;maxAppVersion=%ITEM_MAXAPPVERSION%&amp;status=%ITEM_STATUS%&amp;appId=%APP_ID%&amp;appVersion=%APP_VERSION%&amp;appOs=%APP_OS%&amp;appAbi=%APP_ABI%&amp;locale=%APP_LOCALE%&amp;reqVersion=%REQ_VERSION%</em:updateURL>
-    
-  </Description>      
-</RDF>
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/addons/test_bug335238_2/install.rdf
+++ /dev/null
@@ -1,30 +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>bug335238_2@tests.mozilla.org</em:id>
-    <em:version>28at</em:version>
-    
-    <em:targetApplication>
-      <Description>
-        <em:id>xpcshell@tests.mozilla.org</em:id>
-        <em:minVersion>1</em:minVersion>
-        <em:maxVersion>7</em:maxVersion>
-      </Description>
-    </em:targetApplication>
-    
-    <em:requires>
-      <Description>
-        <em:id>unknown@tests.mozilla.org</em:id>
-        <em:minVersion>2</em:minVersion>
-        <em:maxVersion>72</em:maxVersion>
-      </Description>
-    </em:requires>
-    
-    <em:name>Bug 335238</em:name>
-    <em:updateURL>http://example.com/1?id=%ITEM_ID%&amp;version=%ITEM_VERSION%&amp;maxAppVersion=%ITEM_MAXAPPVERSION%&amp;status=%ITEM_STATUS%&amp;appId=%APP_ID%&amp;appVersion=%APP_VERSION%&amp;appOs=%APP_OS%&amp;appAbi=%APP_ABI%&amp;locale=%APP_LOCALE%&amp;reqVersion=%REQ_VERSION%</em:updateURL>
-    
-  </Description>      
-</RDF>
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/addons/test_bug335238_3/install.rdf
+++ /dev/null
@@ -1,30 +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>bug335238_3@tests.mozilla.org</em:id>
-    <em:version>58</em:version>
-    
-    <em:targetApplication>
-      <Description>
-        <em:id>xpcshell@tests.mozilla.org</em:id>
-        <em:minVersion>1</em:minVersion>
-        <em:maxVersion>*</em:maxVersion>
-      </Description>
-    </em:targetApplication>
-    
-    <em:requires>
-      <Description>
-        <em:id>unknown@tests.mozilla.org</em:id>
-        <em:minVersion>2</em:minVersion>
-        <em:maxVersion>72</em:maxVersion>
-      </Description>
-    </em:requires>
-    
-    <em:name>Bug 335238</em:name>
-    <em:updateURL>http://example.com/2?id=%ITEM_ID%&amp;version=%ITEM_VERSION%&amp;maxAppVersion=%ITEM_MAXAPPVERSION%&amp;status=%ITEM_STATUS%&amp;appId=%APP_ID%&amp;appVersion=%APP_VERSION%&amp;appOs=%APP_OS%&amp;appAbi=%APP_ABI%&amp;locale=%APP_LOCALE%&amp;reqVersion=%REQ_VERSION%</em:updateURL>
-    
-  </Description>      
-</RDF>
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/addons/test_bug335238_4/install.rdf
+++ /dev/null
@@ -1,30 +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>bug335238_4@tests.mozilla.org</em:id>
-    <em:version>4</em:version>
-    
-    <em:targetApplication>
-      <Description>
-        <em:id>xpcshell@tests.mozilla.org</em:id>
-        <em:minVersion>1</em:minVersion>
-        <em:maxVersion>2+</em:maxVersion>
-      </Description>
-    </em:targetApplication>
-    
-    <em:requires>
-      <Description>
-        <em:id>unknown@tests.mozilla.org</em:id>
-        <em:minVersion>2</em:minVersion>
-        <em:maxVersion>72</em:maxVersion>
-      </Description>
-    </em:requires>
-    
-    <em:name>Bug 335238</em:name>
-    <em:updateURL>http://example.com/3?id=%ITEM_ID%&amp;version=%ITEM_VERSION%&amp;maxAppVersion=%ITEM_MAXAPPVERSION%&amp;status=%ITEM_STATUS%&amp;appId=%APP_ID%&amp;appVersion=%APP_VERSION%&amp;appOs=%APP_OS%&amp;appAbi=%APP_ABI%&amp;locale=%APP_LOCALE%&amp;reqVersion=%REQ_VERSION%</em:updateURL>
-    
-  </Description>      
-</RDF>
--- a/toolkit/mozapps/extensions/test/xpcshell/head_addons.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/head_addons.js
@@ -66,17 +66,16 @@ ChromeUtils.defineModuleGetter(this, "Mo
 
 XPCOMUtils.defineLazyServiceGetter(this, "aomStartup",
                                    "@mozilla.org/addons/addon-manager-startup;1",
                                    "amIAddonManagerStartup");
 
 // Whitelist existing tests that still use non-restartless extensions.
 const LEGACY_NON_RESTARTLESS_TESTS = new Set([
   "test_blocklistchange.js",
-  "test_bug335238.js",
   "test_bug397778.js",
   "test_bug425657.js",
   "test_bug455906.js",
 ]);
 
 if (LEGACY_NON_RESTARTLESS_TESTS.has(_TEST_FILE[0].replace(/.*\//, ""))) {
   Services.prefs.setBoolPref("extensions.legacy.non-restartless.enabled", true);
 }
--- a/toolkit/mozapps/extensions/test/xpcshell/test_bug335238.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_bug335238.js
@@ -55,25 +55,78 @@ var EXPECTED = [
     appVersion: "1",
     appOs: "XPCShell",
     appAbi: "noarch-spidermonkey",
     locale: "en-US",
     reqVersion: "2"
   }
 ];
 
+const MANIFESTS = [
+  {
+    id: "bug335238_1@tests.mozilla.org",
+    version: "1.3.4",
+    name: "Bug 335238",
+    updateURL: "http://example.com/0?id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appId=%APP_ID%&appVersion=%APP_VERSION%&appOs=%APP_OS%&appAbi=%APP_ABI%&locale=%APP_LOCALE%&reqVersion=%REQ_VERSION%",
+    bootstrap: true,
+
+    targetApplications: [{
+        id: "xpcshell@tests.mozilla.org",
+        minVersion: "1",
+        maxVersion: "5"}],
+  },
+  {
+    id: "bug335238_2@tests.mozilla.org",
+    version: "28at",
+    name: "Bug 335238",
+    updateURL: "http://example.com/1?id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appId=%APP_ID%&appVersion=%APP_VERSION%&appOs=%APP_OS%&appAbi=%APP_ABI%&locale=%APP_LOCALE%&reqVersion=%REQ_VERSION%",
+    bootstrap: true,
+
+    targetApplications: [{
+      id: "xpcshell@tests.mozilla.org",
+      minVersion: "1",
+      maxVersion: "7"}],
+  },
+  {
+    id: "bug335238_3@tests.mozilla.org",
+    version: "58",
+    name: "Bug 335238",
+    updateURL: "http://example.com/2?id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appId=%APP_ID%&appVersion=%APP_VERSION%&appOs=%APP_OS%&appAbi=%APP_ABI%&locale=%APP_LOCALE%&reqVersion=%REQ_VERSION%",
+    bootstrap: true,
+
+    targetApplications: [{
+        id: "xpcshell@tests.mozilla.org",
+        minVersion: "1",
+        maxVersion: "*"}],
+  },
+  {
+    id: "bug335238_4@tests.mozilla.org",
+    version: "4",
+    name: "Bug 335238",
+    updateURL: "http://example.com/3?id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appId=%APP_ID%&appVersion=%APP_VERSION%&appOs=%APP_OS%&appAbi=%APP_ABI%&locale=%APP_LOCALE%&reqVersion=%REQ_VERSION%",
+    bootstrap: true,
+
+    targetApplications: [{
+        id: "xpcshell@tests.mozilla.org",
+        minVersion: "1",
+        maxVersion: "2+"}],
+  },
+];
+
+const XPIS = MANIFESTS.map(manifest => createTempXPIFile(manifest));
+
 var ADDONS = [
   {id: "bug335238_1@tests.mozilla.org",
-   addon: "test_bug335238_1"},
+   addon: XPIS[0]},
   {id: "bug335238_2@tests.mozilla.org",
-   addon: "test_bug335238_2"},
+   addon: XPIS[1]},
   {id: "bug335238_3@tests.mozilla.org",
-   addon: "test_bug335238_3"},
+   addon: XPIS[2]},
   {id: "bug335238_4@tests.mozilla.org",
-   addon: "test_bug335238_4"}
+   addon: XPIS[3]}
 ];
 
 // This is a replacement for the blocklist service
 var BlocklistService = {
   getAddonBlocklistState(aAddon, aAppVersion, aToolkitVersion) {
     if (aAddon.id == "bug335238_3@tests.mozilla.org")
       return Ci.nsIBlocklistService.STATE_SOFTBLOCKED;
     if (aAddon.id == "bug335238_4@tests.mozilla.org")
@@ -150,17 +203,17 @@ function run_test() {
   server.registerPathHandler("/0", requestHandler);
   server.registerPathHandler("/1", requestHandler);
   server.registerPathHandler("/2", requestHandler);
   server.registerPathHandler("/3", requestHandler);
 
   Services.locale.setRequestedLocales(["en-US"]);
 
   startupManager();
-  installAllFiles(ADDONS.map(a => do_get_addon(a.addon)), function() {
+  installAllFiles(ADDONS.map(a => a.addon), function() {
 
     restartManager();
     AddonManager.getAddonByID(ADDONS[1].id, callback_soon(function(addon) {
       Assert.ok(!(!addon));
       addon.userDisabled = true;
       restartManager();
 
       AddonManager.getAddonsByIDs(ADDONS.map(a => a.id), function(installedItems) {