Bug 1910401: Enable more update tests now that we are using the NSWorkspace API to launch callback apps on macOS (bug 1827651).

Differential Revision: https://phabricator.services.mozilla.com/D217963
This commit is contained in:
Stephen A Pohl 2024-09-17 21:38:46 +00:00
Родитель 48bc589112
Коммит 316e6456d6
3 изменённых файлов: 19 добавлений и 30 удалений

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

@ -19,7 +19,7 @@ async function run_test() {
gTestDirs = gTestDirsCompleteSuccess;
await setupUpdaterTest(FILE_COMPLETE_MAR, true);
setupSymLinks();
await runHelperFileInUse(DIR_RESOURCES + gCallbackBinFile, false);
await runHelperFileInUse(DIR_MACOS + gCallbackBinFile, false);
await stageUpdate(STATE_AFTER_STAGE, true);
checkPostUpdateRunningFile(false);
checkFilesAfterUpdateSuccess(getStageDirFile, true);

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

@ -37,24 +37,34 @@ async function run_test() {
return;
}
// `channel-prefs.js` is required for Firefox to launch, including in
// background task mode. The testing partial MAR updates `channel-prefs.js`
// to have contents `FromPartial`, which is not a valid prefs file and causes
// Firefox to crash. However, `channel-prefs.js` is listed as `add-if-not
// `channel-prefs.js` (or `ChannelPrefs.framework/ChannelPrefs on macOS`) is
// required for Firefox to launch, including in background task mode. The
// testing partial MAR updates `channel-prefs.js` to have contents
// `FromPartial`, which is not a valid prefs file and causes Firefox to crash.
// However, `channel-prefs.js` is listed as `add-if-not
// "defaults/pref/channel-prefs.js" "defaults/pref/channel-prefs.js"`, so it
// won't be updated if it already exists. The manipulations below arrange a)
// won't be updated if it already exists. The manipulations below arrange a)
// for the file to exist and b) for the comparison afterward to succeed.
gTestFiles = gTestFilesPartialSuccess;
let channelPrefs = getTestFileByName(FILE_CHANNEL_PREFS);
let f = gGREDirOrig.clone();
f.append("defaults");
f.append("pref");
f.append("channel-prefs.js");
if (AppConstants.platform == "macosx") {
f = f.parent;
f.append("Frameworks");
f.append("ChannelPrefs.framework");
f.append("ChannelPrefs");
} else {
f.append("defaults");
f.append("pref");
f.append("channel-prefs.js");
}
// `originalFile` is a relative path, so we can't just point to the one in the
// original GRE directory.
channelPrefs.originalFile = null;
channelPrefs.originalContents = readFile(f);
channelPrefs.compareContents = channelPrefs.originalContents;
gTestDirs = gTestDirsPartialSuccess;
// The third parameter will test that a relative path that contains a
// directory traversal to the post update binary doesn't execute.

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

@ -47,13 +47,8 @@ reason = "Windows only test"
["marAppApplyUpdateStageOldVersionFailure.js"]
["marAppApplyUpdateStageSuccess.js"]
skip-if = [
"apple_silicon", # bug 1707753
"apple_catalina", # Bug 1713329
]
["marAppApplyUpdateSuccess.js"]
skip-if = ["apple_silicon"] # bug 1724579
["marAppInUseBackgroundTaskFailure_win.js"]
run-if = ["os == 'win'"]
@ -65,10 +60,6 @@ reason = "Windows only test"
["marAppInUseStageSuccessComplete_unix.js"]
run-if = ["os != 'win'"] # not a Windows test
skip-if = [
"apple_silicon", # bug 1707753
"apple_catalina", # Bug 1713329
]
["marAppInUseSuccessComplete.js"]
@ -160,26 +151,14 @@ reason = "Windows only test"
["marStageFailurePartial.js"]
["marStageSuccessComplete.js"]
skip-if = [
"apple_silicon", # bug 1707753
"apple_catalina", # Bug 1713329
]
["marStageSuccessPartial.js"]
skip-if = [
"apple_silicon", # bug 1707753
"apple_catalina", # Bug 1713329
]
["marSuccessComplete.js"]
["marSuccessPartial.js"]
["marSuccessPartialWhileBackgroundTaskRunning.js"]
skip-if = [
"apple_silicon", # Bug 1754931
"apple_catalina", # Bug 1754931
]
["marVersionDowngrade.js"]