/* 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/. */ /* General Partial MAR File Patch Apply Test */ async function run_test() { if (!setupTestCommon()) { return; } gTestFiles = gTestFilesPartialSuccess; gTestFiles[gTestFiles.length - 1].originalContents = null; gTestFiles[gTestFiles.length - 1].compareContents = "FromPartial\n"; gTestFiles[gTestFiles.length - 1].comparePerms = 0o644; gTestDirs = gTestDirsPartialSuccess; // The third parameter will test that a relative path that contains a // directory traversal to the post update binary doesn't execute. await setupUpdaterTest(FILE_PARTIAL_MAR, false, "test/../"); runUpdate(STATE_SUCCEEDED, false, 0, true); checkAppBundleModTime(); standardInit(); checkPostUpdateRunningFile(false); checkFilesAfterUpdateSuccess(getApplyDirFile); checkUpdateLogContents(LOG_PARTIAL_SUCCESS); await waitForUpdateXMLFiles(); checkUpdateManager(STATE_NONE, false, STATE_SUCCEEDED, 0, 1); checkCallbackLog(); }