1
0
Fork 0
firefox/toolkit/mozapps/update/tests/unit_update_binary/marMissingUpdateSettings.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

52 lines
1.7 KiB
JavaScript

/* 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/.
*/
/* Test update-settings.ini missing channel MAR security check */
async function run_test() {
if (!MOZ_VERIFY_MAR_SIGNATURE) {
return;
}
if (!setupTestCommon()) {
return;
}
gTestFiles = gTestFilesCompleteSuccess;
if (AppConstants.platform == "macosx") {
// On macOS, the update settings Framework already exists. Remove it.
const updateSettings = getTestFileByName(FILE_UPDATE_SETTINGS_FRAMEWORK);
updateSettings.removeOriginalFile = true;
} else {
// On non-macOS, the update settings INI will normally be written out with
// the contents specified by `originalContents`. Setting this to `null`
// prevents anything from being written out.
const updateSettings = getTestFileByName(FILE_UPDATE_SETTINGS_INI);
updateSettings.originalContents = null;
}
gTestDirs = gTestDirsCompleteSuccess;
setTestFilesAndDirsForFailure();
await setupUpdaterTest(FILE_COMPLETE_MAR, false);
// If execv is used the updater process will turn into the callback process
// and the updater's return code will be that of the callback process.
runUpdate(
STATE_FAILED_UPDATE_SETTINGS_FILE_CHANNEL,
false,
USE_EXECV ? 0 : 1,
false
);
await testPostUpdateProcessing();
checkPostUpdateRunningFile(false);
checkFilesAfterUpdateFailure(getApplyDirFile);
checkUpdateLogContains(STATE_FAILED_UPDATE_SETTINGS_FILE_CHANNEL);
await waitForUpdateXMLFiles();
await checkUpdateManager(
STATE_NONE,
false,
STATE_FAILED,
UPDATE_SETTINGS_FILE_CHANNEL,
1
);
await waitForFilesInUse();
}