Dactyloidae/toolkit/mozapps/update/tests/unit_base_updater/marFileLockedFailureComplete_win.js

57 lines
1.7 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*/
/* File locked complete MAR file patch apply failure test */
function run_test() {
if (!setupTestCommon()) {
return;
}
gTestFiles = gTestFilesCompleteSuccess;
gTestDirs = gTestDirsCompleteSuccess;
setTestFilesAndDirsForFailure();
setupUpdaterTest(FILE_COMPLETE_MAR, false);
}
/**
* Called after the call to setupUpdaterTest finishes.
*/
function setupUpdaterTestFinished() {
runHelperLockFile(gTestFiles[3]);
}
/**
* Called after the call to waitForHelperSleep finishes.
*/
function waitForHelperSleepFinished() {
runUpdate(STATE_FAILED_WRITE_ERROR, false, 1, true);
}
/**
* Called after the call to runUpdate finishes.
*/
function runUpdateFinished() {
waitForHelperExit();
}
/**
* Called after the call to waitForHelperExit finishes.
*/
function waitForHelperExitFinished() {
standardInit();
Assert.equal(readStatusFile(), STATE_PENDING,
"the status file failure code" + MSG_SHOULD_EQUAL);
Assert.equal(gUpdateManager.updateCount, 1,
"the update manager updateCount attribute" + MSG_SHOULD_EQUAL);
Assert.equal(gUpdateManager.getUpdateAt(0).state, STATE_PENDING,
"the update state" + MSG_SHOULD_EQUAL);
Assert.equal(gUpdateManager.getUpdateAt(0).errorCode, WRITE_ERROR,
"the update errorCode" + MSG_SHOULD_EQUAL);
checkPostUpdateRunningFile(false);
checkFilesAfterUpdateFailure(getApplyDirFile);
checkUpdateLogContains(ERR_RENAME_FILE);
checkUpdateLogContains(ERR_BACKUP_CREATE_7);
checkUpdateLogContains(STATE_FAILED_WRITE_ERROR + "\n" + CALL_QUIT);
checkCallbackLog();
}