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
28 lines
996 B
JavaScript
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();
|
|
}
|