Files
sousa-gecko/toolkit/mozapps/update/tests/unit_update_binary/marFileInUseSuccessPartialZucchini_win.js
T
Yannis Juglaret a714df5cd9 Bug 1950060 - Enable zucchini support in the updater. r=application-update-reviewers,firefox-build-system-reviewers,bytesized,glandium
This patch makes our updater support zucchini patches if present in a
mar file. This does not mean that we need to start shipping zucchini
patches right now. bspatch support is preserved and the updater is able
to consume both kinds of patches.

This will let us benchmark zucchini patch application in updater.exe,
and experiment with zucchini rollouts that target a small portion of the
population so we can catch any issue ahead of a global rollout.

This patch also adds the zucchini equivalents for our tests that use a
bspatch-based mar.

Differential Revision: https://phabricator.services.mozilla.com/D253687
2025-07-28 04:34:06 +00:00

28 lines
996 B
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*/
/* File in use Zucchini partial MAR file patch apply success test */
async function run_test() {
if (!setupTestCommon()) {
return;
}
gTestFiles = gTestFilesPartialSuccess;
gTestDirs = gTestDirsPartialSuccess;
await setupUpdaterTest(FILE_PARTIAL_ZUCCHINI_MAR, false);
const testFile = getTestFileByName("0exe0.exe");
await runHelperFileInUse(testFile.relPathDir + testFile.fileName, false);
runUpdate(STATE_SUCCEEDED, false, 0, true);
await waitForHelperExit();
await checkPostUpdateAppLog();
await testPostUpdateProcessing();
checkPostUpdateRunningFile(true);
checkFilesAfterUpdateSuccess(getApplyDirFile, false, true);
checkUpdateLogContains(ERR_BACKUP_DISCARD);
checkUpdateLogContains(STATE_SUCCEEDED + "\n" + CALL_QUIT);
await waitForUpdateXMLFiles();
await checkUpdateManager(STATE_NONE, false, STATE_SUCCEEDED, 0, 1);
checkCallbackLog();
}