mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1256399 use temporary addon installation for update tests r=mossop a=testonly
MozReview-Commit-ID: AdjNzZrA79N
This commit is contained in:
parent
a94a592a9a
commit
9b05494a00
@ -67,6 +67,7 @@ function runTest() {
|
||||
file.append(FILE_UPDATE_ARCHIVE);
|
||||
ok(!file.exists(), file.path + " should not exist");
|
||||
|
||||
resetAddons(() => {
|
||||
let addonPrepDir = Services.dirsvc.get(NS_APP_USER_PROFILE_50_DIR,
|
||||
Ci.nsILocalFile);
|
||||
addonPrepDir.append(ADDON_PREP_DIR);
|
||||
@ -80,8 +81,8 @@ function runTest() {
|
||||
logTestInfo("Unable to remove directory. Path: " + addonPrepDir.path +
|
||||
", Exception: " + e);
|
||||
}
|
||||
|
||||
resetAddons(cleanupRestoreUpdaterBackup);
|
||||
cleanupRestoreUpdaterBackup();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1316,45 +1316,14 @@ function setupAddons(aCallback) {
|
||||
Services.prefs.setCharPref(PREF_DISABLEDADDONS, disabledAddons.join(" "));
|
||||
|
||||
// Install the test add-ons.
|
||||
let xpiFiles = getTestAddonXPIFiles();
|
||||
let xpiCount = xpiFiles.length;
|
||||
let installs = [];
|
||||
xpiFiles.forEach(function(aFile) {
|
||||
AddonManager.getInstallForFile(aFile, function(aInstall) {
|
||||
if (!aInstall) {
|
||||
throw "No AddonInstall created for " + aFile.path;
|
||||
}
|
||||
|
||||
installs.push(aInstall);
|
||||
|
||||
if (--xpiCount == 0) {
|
||||
let installCount = installs.length;
|
||||
let installCompleted = function(aInstall) {
|
||||
aInstall.removeListener(listener);
|
||||
|
||||
if (getAddonTestType(aInstall.addon.name) == "userdisabled") {
|
||||
aInstall.addon.userDisabled = true;
|
||||
}
|
||||
if (--installCount == 0) {
|
||||
setNoUpdateAddonsDisabledState();
|
||||
}
|
||||
};
|
||||
|
||||
let listener = {
|
||||
onDownloadFailed: installCompleted,
|
||||
onDownloadCancelled: installCompleted,
|
||||
onInstallFailed: installCompleted,
|
||||
onInstallCancelled: installCompleted,
|
||||
onInstallEnded: installCompleted
|
||||
};
|
||||
|
||||
installs.forEach(function(aInstall) {
|
||||
aInstall.addListener(listener);
|
||||
aInstall.install();
|
||||
});
|
||||
let promises = getTestAddonXPIFiles().map(function(aFile) {
|
||||
return AddonManager.installTemporaryAddon(aFile).then(addon => {
|
||||
if (getAddonTestType(addon.name) == "userdisabled") {
|
||||
addon.userDisabled = true;
|
||||
}
|
||||
});
|
||||
});
|
||||
return Promise.all(promises).then(setNoUpdateAddonsDisabledState);
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user