[DEFAULT]
run-if = [
  "os != 'android'",
]
tags = "appupdate base"
head = "head_no_service.js"
skip-if = [
  "msix", # Our updater is disabled in MSIX builds
  "os == 'win' && ccov",
]
support-files = [
  "../data/shared.js",
  "../data/sharedUpdateXML.js",
  "../data/xpcshellUtilsAUS.js",
]

["invalidArgCallbackFileNotInInstallDirFailure.js"]

["invalidArgCallbackFilePathTooLongFailure.js"]

["invalidArgInstallDirPathTooLongFailure.js"]

["invalidArgInstallDirPathTraversalFailure.js"]

["invalidArgInstallWorkingDirPathNotSameFailure_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["invalidArgPatchDirPathTraversalFailure.js"]

["invalidArgStageDirNotInInstallDirFailure_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["invalidArgWorkingDirPathLocalUNCFailure_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["invalidArgWorkingDirPathRelativeFailure.js"]

["marAppApplyDirLockedStageFailure_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marAppApplyUpdateAppBinInUseStageSuccess_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marAppApplyUpdateSkippedWriteAccess_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marAppApplyUpdateStageOldVersionFailure.js"]

["marAppApplyUpdateStageSuccess.js"]

["marAppApplyUpdateSuccess.js"]

["marAppInUseBackgroundTaskFailure_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marAppInUseStageFailureComplete_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marAppInUseStageSuccessComplete_unix.js"]
run-if = [
  "os != 'win'", # not a Windows test
]

["marAppInUseSuccessComplete.js"]

["marCallbackAppStageSuccessComplete_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marCallbackAppStageSuccessPartialZucchini_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marCallbackAppStageSuccessPartial_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marCallbackAppSuccessComplete_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marCallbackAppSuccessPartialZucchini_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marCallbackAppSuccessPartial_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marCallbackUmask_unix.js"]
run-if = [
  "os != 'win'", # not a Windows test
]
reason = "Unix only test"

["marFailurePartial.js"]

["marFailurePartialZucchini.js"]

["marFailurePartialZucchiniBadAlloc_win.js"]
skip-if = [
  "os != 'win'",
  "tsan", # TSan intercepts operator new and aborts on OOM before bad_alloc
  "asan", # Same issue with ASan
]
reason = "Windows only test, POSIX planned for bug 2043122"

["marFailurePartialZucchiniCheck_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test, POSIX planned for bug 2043122"

["marFailurePartialZucchiniCheckDestructor_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test, POSIX planned for bug 2043122"

["marFileInUseStageFailureComplete_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marFileInUseStageFailurePartialZucchini_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marFileInUseStageFailurePartial_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marFileInUseSuccessComplete_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marFileInUseSuccessPartialZucchini_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marFileInUseSuccessPartial_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marFileLockedFailureComplete_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marFileLockedFailurePartialZucchini_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marFileLockedFailurePartial_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marFileLockedStageFailureComplete_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marFileLockedStageFailurePartialZucchini_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marFileLockedStageFailurePartial_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marMissingUpdateSettings.js"]

["marMissingUpdateSettingsStage.js"]

["marPIDPersistsSuccessComplete_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marPostUpdateEnvironment.js"]
run-if = [
  "os == 'mac'",
  "os == 'win'",
]
reason = "Post-update only supported  on Windows and macOS"

["marRMRFDirFileInUseStageFailureComplete_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marRMRFDirFileInUseStageFailurePartialZucchini_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marRMRFDirFileInUseStageFailurePartial_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marRMRFDirFileInUseSuccessComplete_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marRMRFDirFileInUseSuccessPartialZucchini_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marRMRFDirFileInUseSuccessPartial_win.js"]
run-if = [
  "os == 'win'",
]
reason = "Windows only test"

["marStageFailurePartial.js"]

["marStageFailurePartialZucchini.js"]

["marStageSuccessComplete.js"]
run-sequentially = ["os == 'linux'"] # frequent fail in parallel on Linux

["marStageSuccessPartial.js"]

["marStageSuccessPartialZucchini.js"]

["marSuccessComplete.js"]

["marSuccessPartial.js"]

["marSuccessPartialWhileBackgroundTaskRunning.js"]

["marSuccessPartialZucchini.js"]

["marSuccessPartialZucchiniWhileBackgroundTaskRunning.js"]

["marVersionDowngrade.js"]

["marWrongChannel.js"]

["marWrongChannelStage.js"]
