Bug 1449255: Part 4b - Fold test_bug406118 into test_blocklist_osabi.js. r?aswan draft
authorKris Maglione <maglione.k@gmail.com>
Tue, 27 Mar 2018 13:41:23 -0700
changeset 773470 e383a78dc263494915e6087f3a2812b360a5b7bb
parent 773469 64ac7d79ee1887aac5866bd2df4c921ea203b109
child 773471 d7763e8a1a33df94b04a0b4c5f5874eb2d7eebbe
push id104243
push usermaglione.k@gmail.com
push dateWed, 28 Mar 2018 00:15:32 +0000
reviewersaswan
bugs1449255, 406118
milestone61.0a1
Bug 1449255: Part 4b - Fold test_bug406118 into test_blocklist_osabi.js. r?aswan MozReview-Commit-ID: IzXQQCi0NJA
toolkit/mozapps/extensions/test/xpcshell/test_blocklist_osabi.js
toolkit/mozapps/extensions/test/xpcshell/test_bug406118.js
toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
--- a/toolkit/mozapps/extensions/test/xpcshell/test_blocklist_osabi.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_blocklist_osabi.js
@@ -20,242 +20,242 @@ const ADDONS = {
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // No info in blocklist, shouldn't be blocked
-    notBlocklisted: ["1", "1.9"],
+    notBlocklisted: [["1", "1.9"], [null, null]],
   },
 
   "test_bug393285_2@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_2@tests.mozilla.org",
       name: "extension 2",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Should always be blocked
-    blocklisted: ["1", "1.9"],
+    blocklisted: [["1", "1.9"], [null, null]],
   },
 
   "test_bug393285_3a@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_3a@tests.mozilla.org",
       name: "extension 3a",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Only version 1 should be blocked
-    blocklisted: ["1", "1.9"],
+    blocklisted: [["1", "1.9"], [null, null]],
   },
 
   "test_bug393285_3b@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_3b@tests.mozilla.org",
       name: "extension 3b",
       bootstrap: true,
       version: "2.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Only version 1 should be blocked
-    notBlocklisted: ["1", "1.9"],
+    notBlocklisted: [["1", "1.9"]],
   },
 
   "test_bug393285_4@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_4@tests.mozilla.org",
       name: "extension 4",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Should be blocked for app version 1
-    blocklisted: ["1", "1.9"],
-    notBlocklisted: ["2", "1.9"],
+    blocklisted: [["1", "1.9"], [null, null]],
+    notBlocklisted: [["2", "1.9"]],
   },
 
   "test_bug393285_5@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_5@tests.mozilla.org",
       name: "extension 5",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Not blocklisted because we are a different OS
-    notBlocklisted: ["2", "1.9"],
+    notBlocklisted: [["2", "1.9"]],
   },
 
   "test_bug393285_6@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_6@tests.mozilla.org",
       name: "extension 6",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Blocklisted based on OS
-    blocklisted: ["2", "1.9"],
+    blocklisted: [["2", "1.9"]],
   },
 
   "test_bug393285_7@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_7@tests.mozilla.org",
       name: "extension 7",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Blocklisted based on OS
-    blocklisted: ["2", "1.9"],
+    blocklisted: [["2", "1.9"]],
   },
 
   "test_bug393285_8@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_8@tests.mozilla.org",
       name: "extension 8",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Not blocklisted because we are a different ABI
-    notBlocklisted: ["2", "1.9"],
+    notBlocklisted: [["2", "1.9"]],
   },
 
   "test_bug393285_9@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_9@tests.mozilla.org",
       name: "extension 9",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Blocklisted based on ABI
-    blocklisted: ["2", "1.9"],
+    blocklisted: [["2", "1.9"]],
   },
 
   "test_bug393285_10@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_10@tests.mozilla.org",
       name: "extension 10",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Blocklisted based on ABI
-    blocklisted: ["2", "1.9"],
+    blocklisted: [["2", "1.9"]],
   },
 
   "test_bug393285_11@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_11@tests.mozilla.org",
       name: "extension 11",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Doesnt match both os and abi so not blocked
-    notBlocklisted: ["2", "1.9"],
+    notBlocklisted: [["2", "1.9"]],
   },
 
   "test_bug393285_12@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_12@tests.mozilla.org",
       name: "extension 12",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Doesnt match both os and abi so not blocked
-    notBlocklisted: ["2", "1.9"],
+    notBlocklisted: [["2", "1.9"]],
   },
 
   "test_bug393285_13@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_13@tests.mozilla.org",
       name: "extension 13",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Doesnt match both os and abi so not blocked
-    notBlocklisted: ["2", "1.9"],
+    notBlocklisted: [["2", "1.9"]],
   },
 
   "test_bug393285_14@tests.mozilla.org": {
     "install.rdf": {
       id: "test_bug393285_14@tests.mozilla.org",
       name: "extension 14",
       bootstrap: true,
       version: "1.0",
       targetApplications: [{
         id: "xpcshell@tests.mozilla.org",
         minVersion: "1",
         maxVersion: "3"
       }]
     },
     // Matches both os and abi so blocked
-    blocklisted: ["2", "1.9"],
+    blocklisted: [["2", "1.9"]],
   },
 };
 
 const ADDON_IDS = Object.keys(ADDONS);
 
 async function loadBlocklist(file) {
   let blocklistUpdated = TestUtils.topicObserved("blocklist-updated");
 
@@ -282,18 +282,18 @@ add_task(async function setup() {
   }
 });
 
 add_task(async function test_1() {
   await loadBlocklist("test_bug393285.xml");
 
   let addons = await getAddons(ADDON_IDS);
   for (let [id, options] of Object.entries(ADDONS)) {
-    if (options.blocklisted) {
-      ok(Services.blocklist.isAddonBlocklisted(addons.get(id), ...options.blocklisted),
-         `Add-on ${id} should be blocklisted in app/platform version ${options.blocklisted}`);
+    for (let blocklisted of options.blocklisted || []) {
+      ok(Services.blocklist.isAddonBlocklisted(addons.get(id), ...blocklisted),
+         `Add-on ${id} should be blocklisted in app/platform version ${blocklisted}`);
     }
-    if (options.notBlocklisted) {
-      ok(!Services.blocklist.isAddonBlocklisted(addons.get(id), ...options.notBlocklisted),
-         `Add-on ${id} should not be blocklisted in app/platform version ${options.notBlocklisted}`);
+    for (let notBlocklisted of options.notBlocklisted || []) {
+      ok(!Services.blocklist.isAddonBlocklisted(addons.get(id), ...notBlocklisted),
+         `Add-on ${id} should not be blocklisted in app/platform version ${notBlocklisted}`);
     }
   }
 });
deleted file mode 100644
--- a/toolkit/mozapps/extensions/test/xpcshell/test_bug406118.js
+++ /dev/null
@@ -1,151 +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/.
- */
-
-var addonIDs = ["test_bug393285_1@tests.mozilla.org",
-                "test_bug393285_2@tests.mozilla.org",
-                "test_bug393285_3a@tests.mozilla.org",
-                "test_bug393285_4@tests.mozilla.org"];
-
-const URI_EXTENSION_BLOCKLIST_DIALOG = "chrome://mozapps/content/extensions/blocklist.xul";
-
-ChromeUtils.import("resource://testing-common/MockRegistrar.jsm");
-var testserver = AddonTestUtils.createHttpServer({hosts: ["example.com"]});
-gPort = testserver.identity.primaryPort;
-
-testserver.registerDirectory("/data/", do_get_file("data"));
-
-const profileDir = gProfD.clone();
-profileDir.append("extensions");
-
-// A window watcher to deal with the blocklist UI dialog.
-var WindowWatcher = {
-  openWindow(parent, url, name, features, args) {
-    // Should be called to list the newly blocklisted items
-    Assert.equal(url, URI_EXTENSION_BLOCKLIST_DIALOG);
-
-    // Simulate auto-disabling any softblocks
-    var list = args.wrappedJSObject.list;
-    list.forEach(function(aItem) {
-      if (!aItem.blocked)
-        aItem.disable = true;
-    });
-
-    // run the code after the blocklist is closed
-    Services.obs.notifyObservers(null, "addon-blocklist-closed");
-
-  },
-
-  QueryInterface(iid) {
-    if (iid.equals(Ci.nsIWindowWatcher)
-     || iid.equals(Ci.nsISupports))
-      return this;
-
-    throw Cr.NS_ERROR_NO_INTERFACE;
-  }
-};
-
-MockRegistrar.register("@mozilla.org/embedcomp/window-watcher;1", WindowWatcher);
-
-function load_blocklist(aFile, aCallback) {
-  Services.obs.addObserver(function observer() {
-    Services.obs.removeObserver(observer, "blocklist-updated");
-
-    executeSoon(aCallback);
-  }, "blocklist-updated");
-
-  Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" +
-                             gPort + "/data/" + aFile);
-  var blocklist = Cc["@mozilla.org/extensions/blocklist;1"].
-                  getService(Ci.nsITimerCallback);
-  blocklist.notify(null);
-}
-
-
-function end_test() {
-  do_test_finished();
-}
-
-function run_test() {
-  do_test_pending();
-
-  createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9");
-
-  writeInstallRDFForExtension({
-    id: "test_bug393285_1@tests.mozilla.org",
-    name: "extension 1",
-    bootstrap: true,
-    version: "1.0",
-    targetApplications: [{
-      id: "xpcshell@tests.mozilla.org",
-      minVersion: "1",
-      maxVersion: "3"
-    }]
-  }, profileDir);
-
-
-  writeInstallRDFForExtension({
-    id: "test_bug393285_2@tests.mozilla.org",
-    name: "extension 2",
-    bootstrap: true,
-    version: "1.0",
-    targetApplications: [{
-      id: "xpcshell@tests.mozilla.org",
-      minVersion: "1",
-      maxVersion: "3"
-    }]
-  }, profileDir);
-
-  writeInstallRDFForExtension({
-    id: "test_bug393285_3a@tests.mozilla.org",
-    name: "extension 3a",
-    bootstrap: true,
-    version: "1.0",
-    targetApplications: [{
-      id: "xpcshell@tests.mozilla.org",
-      minVersion: "1",
-      maxVersion: "3"
-    }]
-  }, profileDir);
-
-  writeInstallRDFForExtension({
-    id: "test_bug393285_4@tests.mozilla.org",
-    name: "extension 4",
-    bootstrap: true,
-    version: "1.0",
-    targetApplications: [{
-      id: "xpcshell@tests.mozilla.org",
-      minVersion: "1",
-      maxVersion: "3"
-    }]
-  }, profileDir);
-
-  startupManager();
-
-  AddonManager.getAddonsByIDs(addonIDs, function(addons) {
-    for (let addon of addons) {
-      Assert.equal(addon.blocklistState, Ci.nsIBlocklistService.STATE_NOT_BLOCKED);
-    }
-    run_test_1();
-  });
-}
-
-function run_test_1() {
-  load_blocklist("test_bug393285.xml", function() {
-    restartManager();
-
-    AddonManager.getAddonsByIDs(addonIDs,
-                               function([a1, a2, a3, a4]) {
-      // No info in blocklist, shouldn't be blocked
-      Assert.ok(!Services.blocklist.isAddonBlocklisted(a1, null, null));
-
-      // All these should be blocklisted for the current app.
-      Assert.ok(Services.blocklist.isAddonBlocklisted(a2, null, null));
-      Assert.ok(Services.blocklist.isAddonBlocklisted(a3, null, null));
-      Assert.ok(Services.blocklist.isAddonBlocklisted(a4, null, null));
-
-      end_test();
-    });
-  });
-}
--- a/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
+++ b/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
@@ -45,20 +45,16 @@ tags = blocklist
 skip-if = true # Bug 1358846 Bug 1365021 Bug 676992
 [test_bootstrap_const.js]
 [test_bootstrap_globals.js]
 [test_bug1180901_2.js]
 skip-if = os != "win"
 [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_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