Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: os == 'win' && verify OR os == 'win' && ccov OR os == 'win' && asan OR os == 'win' && msix
- Manifest: toolkit/mozapps/update/tests/unit_service_updater/xpcshell.toml
/* 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
*/
/* General Partial MAR File Patch Apply Failure Test */
async function run_test() {
if (!setupTestCommon()) {
return;
}
gTestFiles = gTestFilesPartialSuccess;
getTestFileByName("0exe0.exe").originalFile = "partial.png";
gTestDirs = gTestDirsPartialSuccess;
setTestFilesAndDirsForFailure();
await setupUpdaterTest(FILE_PARTIAL_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_LOADSOURCE_ERROR_WRONG_SIZE,
false,
USE_EXECV ? 0 : 1,
true
);
checkAppBundleModTime();
await testPostUpdateProcessing();
checkPostUpdateRunningFile(false);
checkFilesAfterUpdateFailure(getApplyDirFile);
checkUpdateLogContents(LOG_PARTIAL_FAILURE);
await waitForUpdateXMLFiles();
await checkUpdateManager(
STATE_NONE,
false,
STATE_FAILED,
LOADSOURCE_ERROR_WRONG_SIZE,
1
);
checkCallbackLog();
}