From 0ddd00f1959c78ce37c14fef3c83401408fca3bf Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Tue, 25 Feb 2020 15:07:00 -0500 Subject: Issue #439 - Remove tests from toolkit/ --- toolkit/mozapps/update/tests/chrome/.eslintrc.js | 7 - toolkit/mozapps/update/tests/chrome/chrome.ini | 64 -- .../tests/chrome/test_0010_background_basic.xul | 50 - .../update/tests/chrome/test_0011_check_basic.xul | 51 - .../tests/chrome/test_0012_check_basic_staging.xul | 55 -- .../tests/chrome/test_0013_check_no_updates.xul | 46 - .../chrome/test_0014_check_error_xml_malformed.xul | 46 - ...est_0061_check_verifyFailPartial_noComplete.xul | 52 - ...est_0062_check_verifyFailComplete_noPartial.xul | 52 - .../test_0063_check_verifyFailPartialComplete.xul | 52 - ...064_check_verifyFailPartial_successComplete.xul | 52 - ...st_0071_notify_verifyFailPartial_noComplete.xul | 53 - ...st_0072_notify_verifyFailComplete_noPartial.xul | 52 - .../test_0073_notify_verifyFailPartialComplete.xul | 55 -- ...74_notify_verifyFailPartial_successComplete.xul | 55 -- ...t_0081_error_patchApplyFailure_partial_only.xul | 53 - ..._0082_error_patchApplyFailure_complete_only.xul | 52 - ...83_error_patchApplyFailure_partial_complete.xul | 67 -- ..._0084_error_patchApplyFailure_verify_failed.xul | 68 -- ..._patchApplyFailure_partial_complete_staging.xul | 94 -- .../tests/chrome/test_0092_finishedBackground.xul | 55 -- .../tests/chrome/test_0093_restartNotification.xul | 60 -- .../test_0094_restartNotification_remote.xul | 60 -- ...095_restartNotification_remoteInvalidNumber.xul | 66 -- ...t_0096_restartNotification_stagedBackground.xul | 65 -- ...restartNotification_stagedServiceBackground.xul | 65 -- .../test_0101_background_restartNotification.xul | 46 - ...0102_background_restartNotification_staging.xul | 49 - ...ckground_restartNotification_stagingService.xul | 50 - .../tests/chrome/test_0111_neverButton_basic.xul | 61 -- ...est_0113_showNeverForVersionRemovedWithPref.xul | 58 -- .../test_0151_notify_backgroundCheckError.xul | 50 - ...est_0152_notify_backgroundCheckOfflineRetry.xul | 96 -- .../tests/chrome/test_0161_check_unsupported.xul | 50 - .../tests/chrome/test_0162_notify_unsupported.xul | 44 - .../chrome/test_0171_check_noPerms_manual.xul | 64 -- .../chrome/test_0172_notify_noPerms_manual.xul | 63 -- .../update/tests/chrome/test_9999_cleanup.xul | 112 --- toolkit/mozapps/update/tests/chrome/update.sjs | 194 ---- toolkit/mozapps/update/tests/chrome/utils.js | 1011 -------------------- 40 files changed, 3395 deletions(-) delete mode 100644 toolkit/mozapps/update/tests/chrome/.eslintrc.js delete mode 100644 toolkit/mozapps/update/tests/chrome/chrome.ini delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0010_background_basic.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0011_check_basic.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0012_check_basic_staging.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0013_check_no_updates.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0014_check_error_xml_malformed.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0061_check_verifyFailPartial_noComplete.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0062_check_verifyFailComplete_noPartial.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0063_check_verifyFailPartialComplete.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0064_check_verifyFailPartial_successComplete.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0071_notify_verifyFailPartial_noComplete.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0072_notify_verifyFailComplete_noPartial.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0073_notify_verifyFailPartialComplete.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0074_notify_verifyFailPartial_successComplete.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0081_error_patchApplyFailure_partial_only.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0082_error_patchApplyFailure_complete_only.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0083_error_patchApplyFailure_partial_complete.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0084_error_patchApplyFailure_verify_failed.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0085_error_patchApplyFailure_partial_complete_staging.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0092_finishedBackground.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0093_restartNotification.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0094_restartNotification_remote.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0095_restartNotification_remoteInvalidNumber.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0096_restartNotification_stagedBackground.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0097_restartNotification_stagedServiceBackground.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0101_background_restartNotification.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0102_background_restartNotification_staging.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0103_background_restartNotification_stagingService.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0111_neverButton_basic.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0113_showNeverForVersionRemovedWithPref.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0151_notify_backgroundCheckError.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0152_notify_backgroundCheckOfflineRetry.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0161_check_unsupported.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0162_notify_unsupported.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0171_check_noPerms_manual.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_0172_notify_noPerms_manual.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/test_9999_cleanup.xul delete mode 100644 toolkit/mozapps/update/tests/chrome/update.sjs delete mode 100644 toolkit/mozapps/update/tests/chrome/utils.js (limited to 'toolkit/mozapps/update/tests/chrome') diff --git a/toolkit/mozapps/update/tests/chrome/.eslintrc.js b/toolkit/mozapps/update/tests/chrome/.eslintrc.js deleted file mode 100644 index 8c0f4f574..000000000 --- a/toolkit/mozapps/update/tests/chrome/.eslintrc.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -module.exports = { - "extends": [ - "../../../../../testing/mochitest/chrome.eslintrc.js" - ] -}; diff --git a/toolkit/mozapps/update/tests/chrome/chrome.ini b/toolkit/mozapps/update/tests/chrome/chrome.ini deleted file mode 100644 index 88e3dd4e8..000000000 --- a/toolkit/mozapps/update/tests/chrome/chrome.ini +++ /dev/null @@ -1,64 +0,0 @@ -; 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/. - -[DEFAULT] -tags = appupdate -support-files = - utils.js - update.sjs - -; mochitest-chrome tests must start with "test_" and are executed in sorted -; order and not in the order specified in the manifest. -[test_0010_background_basic.xul] -[test_0011_check_basic.xul] -[test_0012_check_basic_staging.xul] -skip-if = asan -reason = Bug 1168003 -[test_0013_check_no_updates.xul] -[test_0014_check_error_xml_malformed.xul] -[test_0061_check_verifyFailPartial_noComplete.xul] -[test_0062_check_verifyFailComplete_noPartial.xul] -[test_0063_check_verifyFailPartialComplete.xul] -[test_0064_check_verifyFailPartial_successComplete.xul] -[test_0071_notify_verifyFailPartial_noComplete.xul] -[test_0072_notify_verifyFailComplete_noPartial.xul] -[test_0073_notify_verifyFailPartialComplete.xul] -[test_0074_notify_verifyFailPartial_successComplete.xul] -[test_0081_error_patchApplyFailure_partial_only.xul] -[test_0082_error_patchApplyFailure_complete_only.xul] -[test_0083_error_patchApplyFailure_partial_complete.xul] -[test_0084_error_patchApplyFailure_verify_failed.xul] -[test_0085_error_patchApplyFailure_partial_complete_staging.xul] -skip-if = asan -reason = Bug 1168003 -[test_0092_finishedBackground.xul] -[test_0093_restartNotification.xul] -[test_0094_restartNotification_remote.xul] -[test_0095_restartNotification_remoteInvalidNumber.xul] -[test_0096_restartNotification_stagedBackground.xul] -skip-if = asan -reason = Bug 1168003 -[test_0097_restartNotification_stagedServiceBackground.xul] -skip-if = os != 'win' -reason = only Windows has the maintenance service. -[test_0101_background_restartNotification.xul] -[test_0102_background_restartNotification_staging.xul] -skip-if = asan -reason = Bug 1168003 -[test_0103_background_restartNotification_stagingService.xul] -skip-if = os != 'win' -reason = only Windows has the maintenance service. -[test_0111_neverButton_basic.xul] -[test_0113_showNeverForVersionRemovedWithPref.xul] -[test_0151_notify_backgroundCheckError.xul] -[test_0152_notify_backgroundCheckOfflineRetry.xul] -[test_0161_check_unsupported.xul] -[test_0162_notify_unsupported.xul] -[test_0171_check_noPerms_manual.xul] -skip-if = os != 'win' -reason = test must be able to prevent file deletion. -[test_0172_notify_noPerms_manual.xul] -skip-if = os != 'win' -reason = test must be able to prevent file deletion. -[test_9999_cleanup.xul] diff --git a/toolkit/mozapps/update/tests/chrome/test_0010_background_basic.xul b/toolkit/mozapps/update/tests/chrome/test_0010_background_basic.xul deleted file mode 100644 index 8d088cc8a..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0010_background_basic.xul +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0011_check_basic.xul b/toolkit/mozapps/update/tests/chrome/test_0011_check_basic.xul deleted file mode 100644 index 12b5302a4..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0011_check_basic.xul +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0012_check_basic_staging.xul b/toolkit/mozapps/update/tests/chrome/test_0012_check_basic_staging.xul deleted file mode 100644 index d910adc08..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0012_check_basic_staging.xul +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0013_check_no_updates.xul b/toolkit/mozapps/update/tests/chrome/test_0013_check_no_updates.xul deleted file mode 100644 index c3f024c73..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0013_check_no_updates.xul +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0014_check_error_xml_malformed.xul b/toolkit/mozapps/update/tests/chrome/test_0014_check_error_xml_malformed.xul deleted file mode 100644 index f399a0096..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0014_check_error_xml_malformed.xul +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0061_check_verifyFailPartial_noComplete.xul b/toolkit/mozapps/update/tests/chrome/test_0061_check_verifyFailPartial_noComplete.xul deleted file mode 100644 index 1040c19e3..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0061_check_verifyFailPartial_noComplete.xul +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0062_check_verifyFailComplete_noPartial.xul b/toolkit/mozapps/update/tests/chrome/test_0062_check_verifyFailComplete_noPartial.xul deleted file mode 100644 index 9221a4b98..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0062_check_verifyFailComplete_noPartial.xul +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0063_check_verifyFailPartialComplete.xul b/toolkit/mozapps/update/tests/chrome/test_0063_check_verifyFailPartialComplete.xul deleted file mode 100644 index 8da5c7e97..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0063_check_verifyFailPartialComplete.xul +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0064_check_verifyFailPartial_successComplete.xul b/toolkit/mozapps/update/tests/chrome/test_0064_check_verifyFailPartial_successComplete.xul deleted file mode 100644 index db0f33d2f..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0064_check_verifyFailPartial_successComplete.xul +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0071_notify_verifyFailPartial_noComplete.xul b/toolkit/mozapps/update/tests/chrome/test_0071_notify_verifyFailPartial_noComplete.xul deleted file mode 100644 index 736df13a3..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0071_notify_verifyFailPartial_noComplete.xul +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0072_notify_verifyFailComplete_noPartial.xul b/toolkit/mozapps/update/tests/chrome/test_0072_notify_verifyFailComplete_noPartial.xul deleted file mode 100644 index cafab4d27..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0072_notify_verifyFailComplete_noPartial.xul +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0073_notify_verifyFailPartialComplete.xul b/toolkit/mozapps/update/tests/chrome/test_0073_notify_verifyFailPartialComplete.xul deleted file mode 100644 index c1db983a3..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0073_notify_verifyFailPartialComplete.xul +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0074_notify_verifyFailPartial_successComplete.xul b/toolkit/mozapps/update/tests/chrome/test_0074_notify_verifyFailPartial_successComplete.xul deleted file mode 100644 index 2c28da768..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0074_notify_verifyFailPartial_successComplete.xul +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0081_error_patchApplyFailure_partial_only.xul b/toolkit/mozapps/update/tests/chrome/test_0081_error_patchApplyFailure_partial_only.xul deleted file mode 100644 index 10c34f63b..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0081_error_patchApplyFailure_partial_only.xul +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0082_error_patchApplyFailure_complete_only.xul b/toolkit/mozapps/update/tests/chrome/test_0082_error_patchApplyFailure_complete_only.xul deleted file mode 100644 index 2c4b389f4..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0082_error_patchApplyFailure_complete_only.xul +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0083_error_patchApplyFailure_partial_complete.xul b/toolkit/mozapps/update/tests/chrome/test_0083_error_patchApplyFailure_partial_complete.xul deleted file mode 100644 index 01adb1c3d..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0083_error_patchApplyFailure_partial_complete.xul +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0084_error_patchApplyFailure_verify_failed.xul b/toolkit/mozapps/update/tests/chrome/test_0084_error_patchApplyFailure_verify_failed.xul deleted file mode 100644 index 2e0c2b41e..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0084_error_patchApplyFailure_verify_failed.xul +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0085_error_patchApplyFailure_partial_complete_staging.xul b/toolkit/mozapps/update/tests/chrome/test_0085_error_patchApplyFailure_partial_complete_staging.xul deleted file mode 100644 index fc83505f9..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0085_error_patchApplyFailure_partial_complete_staging.xul +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0092_finishedBackground.xul b/toolkit/mozapps/update/tests/chrome/test_0092_finishedBackground.xul deleted file mode 100644 index a0b29ddea..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0092_finishedBackground.xul +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0093_restartNotification.xul b/toolkit/mozapps/update/tests/chrome/test_0093_restartNotification.xul deleted file mode 100644 index 6db5b9897..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0093_restartNotification.xul +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0094_restartNotification_remote.xul b/toolkit/mozapps/update/tests/chrome/test_0094_restartNotification_remote.xul deleted file mode 100644 index 6e72a42c1..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0094_restartNotification_remote.xul +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0095_restartNotification_remoteInvalidNumber.xul b/toolkit/mozapps/update/tests/chrome/test_0095_restartNotification_remoteInvalidNumber.xul deleted file mode 100644 index 5b1b826a5..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0095_restartNotification_remoteInvalidNumber.xul +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0096_restartNotification_stagedBackground.xul b/toolkit/mozapps/update/tests/chrome/test_0096_restartNotification_stagedBackground.xul deleted file mode 100644 index b86861012..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0096_restartNotification_stagedBackground.xul +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0097_restartNotification_stagedServiceBackground.xul b/toolkit/mozapps/update/tests/chrome/test_0097_restartNotification_stagedServiceBackground.xul deleted file mode 100644 index 9f7a602c4..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0097_restartNotification_stagedServiceBackground.xul +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0101_background_restartNotification.xul b/toolkit/mozapps/update/tests/chrome/test_0101_background_restartNotification.xul deleted file mode 100644 index faa60c08b..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0101_background_restartNotification.xul +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0102_background_restartNotification_staging.xul b/toolkit/mozapps/update/tests/chrome/test_0102_background_restartNotification_staging.xul deleted file mode 100644 index 3e6f0fec8..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0102_background_restartNotification_staging.xul +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0103_background_restartNotification_stagingService.xul b/toolkit/mozapps/update/tests/chrome/test_0103_background_restartNotification_stagingService.xul deleted file mode 100644 index c60a9fe49..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0103_background_restartNotification_stagingService.xul +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0111_neverButton_basic.xul b/toolkit/mozapps/update/tests/chrome/test_0111_neverButton_basic.xul deleted file mode 100644 index adca621d9..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0111_neverButton_basic.xul +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0113_showNeverForVersionRemovedWithPref.xul b/toolkit/mozapps/update/tests/chrome/test_0113_showNeverForVersionRemovedWithPref.xul deleted file mode 100644 index 89dd55ea1..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0113_showNeverForVersionRemovedWithPref.xul +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0151_notify_backgroundCheckError.xul b/toolkit/mozapps/update/tests/chrome/test_0151_notify_backgroundCheckError.xul deleted file mode 100644 index 13798e5c9..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0151_notify_backgroundCheckError.xul +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0152_notify_backgroundCheckOfflineRetry.xul b/toolkit/mozapps/update/tests/chrome/test_0152_notify_backgroundCheckOfflineRetry.xul deleted file mode 100644 index 04e613418..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0152_notify_backgroundCheckOfflineRetry.xul +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0161_check_unsupported.xul b/toolkit/mozapps/update/tests/chrome/test_0161_check_unsupported.xul deleted file mode 100644 index c8e8d837b..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0161_check_unsupported.xul +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0162_notify_unsupported.xul b/toolkit/mozapps/update/tests/chrome/test_0162_notify_unsupported.xul deleted file mode 100644 index d88d2092d..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0162_notify_unsupported.xul +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0171_check_noPerms_manual.xul b/toolkit/mozapps/update/tests/chrome/test_0171_check_noPerms_manual.xul deleted file mode 100644 index 142c02baa..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0171_check_noPerms_manual.xul +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_0172_notify_noPerms_manual.xul b/toolkit/mozapps/update/tests/chrome/test_0172_notify_noPerms_manual.xul deleted file mode 100644 index 6784b9c90..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_0172_notify_noPerms_manual.xul +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/test_9999_cleanup.xul b/toolkit/mozapps/update/tests/chrome/test_9999_cleanup.xul deleted file mode 100644 index a55263eb2..000000000 --- a/toolkit/mozapps/update/tests/chrome/test_9999_cleanup.xul +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - -

- -

-
-
diff --git a/toolkit/mozapps/update/tests/chrome/update.sjs b/toolkit/mozapps/update/tests/chrome/update.sjs deleted file mode 100644 index 78bb1b93f..000000000 --- a/toolkit/mozapps/update/tests/chrome/update.sjs +++ /dev/null @@ -1,194 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -/** - * Server side http server script for application update tests. - */ - -const { classes: Cc, interfaces: Ci } = Components; - -const REL_PATH_DATA = "chrome/toolkit/mozapps/update/tests/data/"; - -function getTestDataFile(aFilename) { - let file = Cc["@mozilla.org/file/directory_service;1"]. - getService(Ci.nsIProperties).get("CurWorkD", Ci.nsILocalFile); - let pathParts = REL_PATH_DATA.split("/"); - for (let i = 0; i < pathParts.length; ++i) { - file.append(pathParts[i]); - } - if (aFilename) { - file.append(aFilename); - } - return file; -} - -function loadHelperScript() { - let scriptFile = getTestDataFile("sharedUpdateXML.js"); - let io = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService2); - let scriptSpec = io.newFileURI(scriptFile).spec; - let scriptloader = Cc["@mozilla.org/moz/jssubscript-loader;1"]. - getService(Ci.mozIJSSubScriptLoader); - scriptloader.loadSubScript(scriptSpec, this); -} -loadHelperScript(); - -const URL_HOST = "http://example.com"; -const URL_PATH_UPDATE_XML = "/chrome/toolkit/mozapps/update/tests/chrome/update.sjs"; -const URL_HTTP_UPDATE_SJS = URL_HOST + URL_PATH_UPDATE_XML; -const SERVICE_URL = URL_HOST + "/" + REL_PATH_DATA + FILE_SIMPLE_MAR; - -const SLOW_MAR_DOWNLOAD_INTERVAL = 100; -var gTimer; - -function handleRequest(aRequest, aResponse) { - let params = { }; - if (aRequest.queryString) { - params = parseQueryString(aRequest.queryString); - } - - let statusCode = params.statusCode ? parseInt(params.statusCode) : 200; - let statusReason = params.statusReason ? params.statusReason : "OK"; - aResponse.setStatusLine(aRequest.httpVersion, statusCode, statusReason); - aResponse.setHeader("Cache-Control", "no-cache", false); - - // When a mar download is started by the update service it can finish - // downloading before the ui has loaded. By specifying a serviceURL for the - // update patch that points to this file and has a slowDownloadMar param the - // mar will be downloaded asynchronously which will allow the ui to load - // before the download completes. - if (params.slowDownloadMar) { - aResponse.processAsync(); - aResponse.setHeader("Content-Type", "binary/octet-stream"); - aResponse.setHeader("Content-Length", SIZE_SIMPLE_MAR); - var continueFile = getTestDataFile("continue"); - var contents = readFileBytes(getTestDataFile(FILE_SIMPLE_MAR)); - gTimer = Cc["@mozilla.org/timer;1"]. - createInstance(Ci.nsITimer); - gTimer.initWithCallback(function(aTimer) { - if (continueFile.exists()) { - gTimer.cancel(); - aResponse.write(contents); - aResponse.finish(); - } - }, SLOW_MAR_DOWNLOAD_INTERVAL, Ci.nsITimer.TYPE_REPEATING_SLACK); - return; - } - - if (params.uiURL) { - let remoteType = ""; - if (!params.remoteNoTypeAttr && params.uiURL == "BILLBOARD") { - remoteType = " " + params.uiURL.toLowerCase() + "=\"1\""; - } - aResponse.write("" + params.uiURL + - "

this is a test mar that will not affect your " + - "build."); - return; - } - - if (params.xmlMalformed) { - aResponse.write("xml error"); - return; - } - - if (params.noUpdates) { - aResponse.write(getRemoteUpdatesXMLString("")); - return; - } - - if (params.unsupported) { - aResponse.write(getRemoteUpdatesXMLString(" \n")); - return; - } - - let size; - let patches = ""; - if (!params.partialPatchOnly) { - size = SIZE_SIMPLE_MAR + (params.invalidCompleteSize ? "1" : ""); - patches += getRemotePatchString("complete", SERVICE_URL, "SHA512", - SHA512_HASH_SIMPLE_MAR, size); - } - - if (!params.completePatchOnly) { - size = SIZE_SIMPLE_MAR + (params.invalidPartialSize ? "1" : ""); - patches += getRemotePatchString("partial", SERVICE_URL, "SHA512", - SHA512_HASH_SIMPLE_MAR, size); - } - - let type = params.type ? params.type : "major"; - let name = params.name ? params.name : "App Update Test"; - let appVersion = params.appVersion ? params.appVersion : "999999.9"; - let displayVersion = params.displayVersion ? params.displayVersion - : "version " + appVersion; - let buildID = params.buildID ? params.buildID : "01234567890123"; - // XXXrstrong - not specifying a detailsURL will cause a leak due to bug 470244 -// let detailsURL = params.showDetails ? URL_HTTP_UPDATE_SJS + "?uiURL=DETAILS" : null; - let detailsURL = URL_HTTP_UPDATE_SJS + "?uiURL=DETAILS"; - let showPrompt = params.showPrompt ? "true" : null; - let showNever = params.showNever ? "true" : null; - let promptWaitTime = params.promptWaitTime ? params.promptWaitTime : null; - - let updates = getRemoteUpdateString(patches, type, "App Update Test", - displayVersion, appVersion, buildID, - detailsURL, showPrompt, showNever, - promptWaitTime); - aResponse.write(getRemoteUpdatesXMLString(updates)); -} - -/** - * Helper function to create a JS object representing the url parameters from - * the request's queryString. - * - * @param aQueryString - * The request's query string. - * @return A JS object representing the url parameters from the request's - * queryString. - */ -function parseQueryString(aQueryString) { - let paramArray = aQueryString.split("&"); - let regex = /^([^=]+)=(.*)$/; - let params = {}; - for (let i = 0, sz = paramArray.length; i < sz; i++) { - let match = regex.exec(paramArray[i]); - if (!match) { - throw "Bad parameter in queryString! '" + paramArray[i] + "'"; - } - params[decodeURIComponent(match[1])] = decodeURIComponent(match[2]); - } - - return params; -} - -/** - * Reads the binary contents of a file and returns it as a string. - * - * @param aFile - * The file to read from. - * @return The contents of the file as a string. - */ -function readFileBytes(aFile) { - let fis = Cc["@mozilla.org/network/file-input-stream;1"]. - createInstance(Ci.nsIFileInputStream); - fis.init(aFile, -1, -1, false); - let bis = Cc["@mozilla.org/binaryinputstream;1"]. - createInstance(Ci.nsIBinaryInputStream); - bis.setInputStream(fis); - let data = []; - let count = fis.available(); - while (count > 0) { - let bytes = bis.readByteArray(Math.min(65535, count)); - data.push(String.fromCharCode.apply(null, bytes)); - count -= bytes.length; - if (bytes.length == 0) { - throw "Nothing read from input stream!"; - } - } - data.join(''); - fis.close(); - return data.toString(); -} diff --git a/toolkit/mozapps/update/tests/chrome/utils.js b/toolkit/mozapps/update/tests/chrome/utils.js deleted file mode 100644 index 31d0d2e5a..000000000 --- a/toolkit/mozapps/update/tests/chrome/utils.js +++ /dev/null @@ -1,1011 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -/** - * Test Definition - * - * Most tests can use an array named TESTS that will perform most if not all of - * the necessary checks. Each element in the array must be an object with the - * following possible properties. Additional properties besides the ones listed - * below can be added as needed. - * - * overrideCallback (optional) - * The function to call for the next test. This is typically called when the - * wizard page changes but can also be called for other events by the previous - * test. If this property isn't defined then the defaultCallback function will - * be called. If this property is defined then all other properties are - * optional. - * - * pageid (required unless overrideCallback is specified) - * The expected pageid for the wizard. This property is required unless the - * overrideCallback property is defined. - * - * extraStartFunction (optional) - * The function to call at the beginning of the defaultCallback function. If - * the function returns true the defaultCallback function will return early - * which allows waiting for a specific condition to be evaluated in the - * function specified in the extraStartFunction property before continuing - * with the test. - * - * extraCheckFunction (optional) - * The function to call to perform extra checks in the defaultCallback - * function. - * - * extraDelayedCheckFunction (optional) - * The function to call to perform extra checks in the delayedDefaultCallback - * function. - * - * buttonStates (optional) - * A javascript object representing the expected hidden and disabled attribute - * values for the buttons of the current wizard page. The values are checked - * in the delayedDefaultCallback function. For information about the structure - * of this object refer to the getExpectedButtonStates and checkButtonStates - * functions. - * - * buttonClick (optional) - * The current wizard page button to click at the end of the - * delayedDefaultCallback function. If the buttonClick property is defined - * then the extraDelayedFinishFunction property can't be specified due to race - * conditions in some of the tests and if both of them are specified the test - * will intentionally throw. - * - * extraDelayedFinishFunction (optional) - * The function to call at the end of the delayedDefaultCallback function. - * If the extraDelayedFinishFunction property is defined then the buttonClick - * property can't be specified due to race conditions in some of the tests and - * if both of them are specified the test will intentionally throw. - * - * ranTest (should not be specified) - * When delayedDefaultCallback is called a property named ranTest is added to - * the current test so it is possible to verify that each test in the TESTS - * array has ran. - * - * prefHasUserValue (optional) - * For comparing the expected value defined by this property with the return - * value of prefHasUserValue using gPrefToCheck for the preference name in the - * checkPrefHasUserValue function. - */ - -'use strict'; - -/* globals TESTS, runTest, finishTest */ - -const { classes: Cc, interfaces: Ci, manager: Cm, results: Cr, - utils: Cu } = Components; - -Cu.import("resource://gre/modules/Services.jsm", this); - -const IS_MACOSX = ("nsILocalFileMac" in Ci); -const IS_WIN = ("@mozilla.org/windows-registry-key;1" in Cc); - -// The tests have to use the pageid instead of the pageIndex due to the -// app update wizard's access method being random. -const PAGEID_DUMMY = "dummy"; // Done -const PAGEID_CHECKING = "checking"; // Done -const PAGEID_NO_UPDATES_FOUND = "noupdatesfound"; // Done -const PAGEID_MANUAL_UPDATE = "manualUpdate"; // Done -const PAGEID_UNSUPPORTED = "unsupported"; // Done -const PAGEID_FOUND_BASIC = "updatesfoundbasic"; // Done -const PAGEID_DOWNLOADING = "downloading"; // Done -const PAGEID_ERRORS = "errors"; // Done -const PAGEID_ERROR_EXTRA = "errorextra"; // Done -const PAGEID_ERROR_PATCHING = "errorpatching"; // Done -const PAGEID_FINISHED = "finished"; // Done -const PAGEID_FINISHED_BKGRD = "finishedBackground"; // Done - -const UPDATE_WINDOW_NAME = "Update:Wizard"; - -const URL_HOST = "http://example.com"; -const URL_PATH_UPDATE_XML = "/chrome/toolkit/mozapps/update/tests/chrome/update.sjs"; -const REL_PATH_DATA = "chrome/toolkit/mozapps/update/tests/data"; - -// These two URLs must not contain parameters since tests add their own -// test specific parameters. -const URL_HTTP_UPDATE_XML = URL_HOST + URL_PATH_UPDATE_XML; -const URL_HTTPS_UPDATE_XML = "https://example.com" + URL_PATH_UPDATE_XML; - -const URI_UPDATE_PROMPT_DIALOG = "chrome://mozapps/content/update/updates.xul"; - -const PREF_APP_UPDATE_INTERVAL = "app.update.interval"; -const PREF_APP_UPDATE_LASTUPDATETIME = "app.update.lastUpdateTime.background-update-timer"; - -const LOG_FUNCTION = info; - -const BIN_SUFFIX = (IS_WIN ? ".exe" : ""); -const FILE_UPDATER_BIN = "updater" + (IS_MACOSX ? ".app" : BIN_SUFFIX); -const FILE_UPDATER_BIN_BAK = FILE_UPDATER_BIN + ".bak"; - -var gURLData = URL_HOST + "/" + REL_PATH_DATA + "/"; - -var gTestTimeout = 240000; // 4 minutes -var gTimeoutTimer; - -// The number of SimpleTest.executeSoon calls to perform when waiting on an -// update window to close before giving up. -const CLOSE_WINDOW_TIMEOUT_MAXCOUNT = 10; -// Counter for the SimpleTest.executeSoon when waiting on an update window to -// close before giving up. -var gCloseWindowTimeoutCounter = 0; - -// The following vars are for restoring previous preference values (if present) -// when the test finishes. -var gAppUpdateEnabled; // app.update.enabled -var gAppUpdateServiceEnabled; // app.update.service.enabled -var gAppUpdateStagingEnabled; // app.update.staging.enabled -var gAppUpdateURLDefault; // app.update.url (default prefbranch) - -var gTestCounter = -1; -var gWin; -var gDocElem; -var gPrefToCheck; -var gUseTestUpdater = false; - -// Set to true to log additional information for debugging. To log additional -// information for an individual test set DEBUG_AUS_TEST to true in the test's -// onload function. -var DEBUG_AUS_TEST = true; - -const DATA_URI_SPEC = "chrome://mochitests/content/chrome/toolkit/mozapps/update/tests/data/"; -/* import-globals-from ../data/shared.js */ -Services.scriptloader.loadSubScript(DATA_URI_SPEC + "shared.js", this); - -/** - * The current test in TESTS array. - */ -this.__defineGetter__("gTest", function() { - return TESTS[gTestCounter]; -}); - -/** - * The current test's callback. This will either return the callback defined in - * the test's overrideCallback property or defaultCallback if the - * overrideCallback property is undefined. - */ -this.__defineGetter__("gCallback", function() { - return gTest.overrideCallback ? gTest.overrideCallback - : defaultCallback; -}); - -/** - * nsIObserver for receiving window open and close notifications. - */ -const gWindowObserver = { - observe: function WO_observe(aSubject, aTopic, aData) { - let win = aSubject.QueryInterface(Ci.nsIDOMEventTarget); - - if (aTopic == "domwindowclosed") { - if (win.location != URI_UPDATE_PROMPT_DIALOG) { - debugDump("domwindowclosed event for window not being tested - " + - "location: " + win.location + "... returning early"); - return; - } - // Allow tests the ability to provide their own function (it must be - // named finishTest) for finishing the test. - try { - finishTest(); - } - catch (e) { - finishTestDefault(); - } - return; - } - - win.addEventListener("load", function WO_observe_onLoad() { - win.removeEventListener("load", WO_observe_onLoad, false); - // Ignore windows other than the update UI window. - if (win.location != URI_UPDATE_PROMPT_DIALOG) { - debugDump("load event for window not being tested - location: " + - win.location + "... returning early"); - return; - } - - // The first wizard page should always be the dummy page. - let pageid = win.document.documentElement.currentPage.pageid; - if (pageid != PAGEID_DUMMY) { - // This should never happen but if it does this will provide a clue - // for diagnosing the cause. - ok(false, "Unexpected load event - pageid got: " + pageid + - ", expected: " + PAGEID_DUMMY + "... returning early"); - return; - } - - gWin = win; - gDocElem = gWin.document.documentElement; - gDocElem.addEventListener("pageshow", onPageShowDefault, false); - }, false); - } -}; - -/** - * Default test run function that can be used by most tests. This function uses - * protective measures to prevent the test from failing provided by - * |runTestDefaultWaitForWindowClosed| helper functions to prevent failure due - * to a previous test failure. - */ -function runTestDefault() { - debugDump("entering"); - - if (!("@mozilla.org/zipwriter;1" in Cc)) { - ok(false, "nsIZipWriter is required to run these tests"); - return; - } - - SimpleTest.waitForExplicitFinish(); - - runTestDefaultWaitForWindowClosed(); -} - -/** - * If an update window is found SimpleTest.executeSoon can callback before the - * update window is fully closed especially with debug builds. If an update - * window is found this function will call itself using SimpleTest.executeSoon - * up to the amount declared in CLOSE_WINDOW_TIMEOUT_MAXCOUNT until the update - * window has closed before continuing the test. - */ -function runTestDefaultWaitForWindowClosed() { - gCloseWindowTimeoutCounter++; - if (gCloseWindowTimeoutCounter > CLOSE_WINDOW_TIMEOUT_MAXCOUNT) { - try { - finishTest(); - } - catch (e) { - finishTestDefault(); - } - return; - } - - // The update window should not be open at this time. If it is the call to - // |closeUpdateWindow| will close it and cause the test to fail. - if (closeUpdateWindow()) { - SimpleTest.executeSoon(runTestDefaultWaitForWindowClosed); - } else { - Services.ww.registerNotification(gWindowObserver); - - gCloseWindowTimeoutCounter = 0; - - setupFiles(); - setupPrefs(); - gEnv.set("MOZ_TEST_SKIP_UPDATE_STAGE", "1"); - removeUpdateDirsAndFiles(); - reloadUpdateManagerData(); - setupTimer(gTestTimeout); - SimpleTest.executeSoon(setupTestUpdater); - } -} - -/** - * Default test finish function that can be used by most tests. This function - * uses protective measures to prevent the next test from failing provided by - * |finishTestDefaultWaitForWindowClosed| helper functions to prevent failure - * due to an update window being left open. - */ -function finishTestDefault() { - debugDump("entering"); - if (gTimeoutTimer) { - gTimeoutTimer.cancel(); - gTimeoutTimer = null; - } - - if (gChannel) { - debugDump("channel = " + gChannel); - gChannel = null; - gPrefRoot.removeObserver(PREF_APP_UPDATE_CHANNEL, observer); - } - - verifyTestsRan(); - - resetPrefs(); - gEnv.set("MOZ_TEST_SKIP_UPDATE_STAGE", ""); - resetFiles(); - removeUpdateDirsAndFiles(); - reloadUpdateManagerData(); - - Services.ww.unregisterNotification(gWindowObserver); - if (gDocElem) { - gDocElem.removeEventListener("pageshow", onPageShowDefault, false); - } - - finishTestRestoreUpdaterBackup(); -} - -/** - * nsITimerCallback for the timeout timer to cleanly finish a test if the Update - * Window doesn't close for a test. This allows the next test to run properly if - * a previous test fails. - * - * @param aTimer - * The nsITimer that fired. - */ -function finishTestTimeout(aTimer) { - ok(false, "Test timed out. Maximum time allowed is " + (gTestTimeout / 1000) + - " seconds"); - - try { - finishTest(); - } - catch (e) { - finishTestDefault(); - } -} - -/** - * When a test finishes this will repeatedly attempt to restore the real updater - * for tests that use the test updater and then call - * finishTestDefaultWaitForWindowClosed after the restore is successful. - */ -function finishTestRestoreUpdaterBackup() { - if (gUseTestUpdater) { - try { - // Windows debug builds keep the updater file in use for a short period of - // time after the updater process exits. - restoreUpdaterBackup(); - } catch (e) { - logTestInfo("Attempt to restore the backed up updater failed... " + - "will try again, Exception: " + e); - SimpleTest.executeSoon(finishTestRestoreUpdaterBackup); - return; - } - } - - finishTestDefaultWaitForWindowClosed(); -} - -/** - * If an update window is found SimpleTest.executeSoon can callback before the - * update window is fully closed especially with debug builds. If an update - * window is found this function will call itself using SimpleTest.executeSoon - * up to the amount declared in CLOSE_WINDOW_TIMEOUT_MAXCOUNT until the update - * window has closed before finishing the test. - */ -function finishTestDefaultWaitForWindowClosed() { - gCloseWindowTimeoutCounter++; - if (gCloseWindowTimeoutCounter > CLOSE_WINDOW_TIMEOUT_MAXCOUNT) { - SimpleTest.requestCompleteLog(); - SimpleTest.finish(); - return; - } - - // The update window should not be open at this time. If it is the call to - // |closeUpdateWindow| will close it and cause the test to fail. - if (closeUpdateWindow()) { - SimpleTest.executeSoon(finishTestDefaultWaitForWindowClosed); - } else { - SimpleTest.finish(); - } -} - -/** - * Default callback for the wizard's documentElement pageshow listener. This - * will return early for event's where the originalTarget's nodeName is not - * wizardpage. - */ -function onPageShowDefault(aEvent) { - if (!gTimeoutTimer) { - debugDump("gTimeoutTimer is null... returning early"); - return; - } - - // Return early if the event's original target isn't for a wizardpage element. - // This check is necessary due to the remotecontent element firing pageshow. - if (aEvent.originalTarget.nodeName != "wizardpage") { - debugDump("only handles events with an originalTarget nodeName of " + - "|wizardpage|. aEvent.originalTarget.nodeName = " + - aEvent.originalTarget.nodeName + "... returning early"); - return; - } - - gTestCounter++; - gCallback(aEvent); -} - -/** - * Default callback that can be used by most tests. - */ -function defaultCallback(aEvent) { - if (!gTimeoutTimer) { - debugDump("gTimeoutTimer is null... returning early"); - return; - } - - debugDump("entering - TESTS[" + gTestCounter + "], pageid: " + gTest.pageid + - ", aEvent.originalTarget.nodeName: " + - aEvent.originalTarget.nodeName); - - if (gTest && gTest.extraStartFunction) { - debugDump("calling extraStartFunction " + gTest.extraStartFunction.name); - if (gTest.extraStartFunction(aEvent)) { - debugDump("extraStartFunction early return"); - return; - } - } - - is(gDocElem.currentPage.pageid, gTest.pageid, - "Checking currentPage.pageid equals " + gTest.pageid + " in pageshow"); - - // Perform extra checks if specified by the test - if (gTest.extraCheckFunction) { - debugDump("calling extraCheckFunction " + gTest.extraCheckFunction.name); - gTest.extraCheckFunction(); - } - - // The wizard page buttons' disabled and hidden attributes are set after the - // pageshow event so use executeSoon to allow them to be set so their disabled - // and hidden attribute values can be checked. - SimpleTest.executeSoon(delayedDefaultCallback); -} - -/** - * Delayed default callback called using executeSoon in defaultCallback which - * allows the wizard page buttons' disabled and hidden attributes to be set - * before checking their values. - */ -function delayedDefaultCallback() { - if (!gTimeoutTimer) { - debugDump("gTimeoutTimer is null... returning early"); - return; - } - - if (!gTest) { - debugDump("gTest is null... returning early"); - return; - } - - debugDump("entering - TESTS[" + gTestCounter + "], pageid: " + gTest.pageid); - - // Verify the pageid hasn't changed after executeSoon was called. - is(gDocElem.currentPage.pageid, gTest.pageid, - "Checking currentPage.pageid equals " + gTest.pageid + " after " + - "executeSoon"); - - checkButtonStates(); - - // Perform delayed extra checks if specified by the test - if (gTest.extraDelayedCheckFunction) { - debugDump("calling extraDelayedCheckFunction " + - gTest.extraDelayedCheckFunction.name); - gTest.extraDelayedCheckFunction(); - } - - // Used to verify that this test has been performed - gTest.ranTest = true; - - if (gTest.buttonClick) { - debugDump("clicking " + gTest.buttonClick + " button"); - if (gTest.extraDelayedFinishFunction) { - throw ("Tests cannot have a buttonClick and an extraDelayedFinishFunction property"); - } - gDocElem.getButton(gTest.buttonClick).click(); - } else if (gTest.extraDelayedFinishFunction) { - debugDump("calling extraDelayedFinishFunction " + - gTest.extraDelayedFinishFunction.name); - gTest.extraDelayedFinishFunction(); - } -} - -/** - * Gets the continue file used to signal the mock http server to continue - * downloading for slow download mar file tests without creating it. - * - * @return nsILocalFile for the continue file. - */ -function getContinueFile() { - let continueFile = Cc["@mozilla.org/file/directory_service;1"]. - getService(Ci.nsIProperties). - get("CurWorkD", Ci.nsILocalFile); - let continuePath = REL_PATH_DATA + "/continue"; - let continuePathParts = continuePath.split("/"); - for (let i = 0; i < continuePathParts.length; ++i) { - continueFile.append(continuePathParts[i]); - } - return continueFile; -} - -/** - * Creates the continue file used to signal the mock http server to continue - * downloading for slow download mar file tests. - */ -function createContinueFile() { - debugDump("creating 'continue' file for slow mar downloads"); - writeFile(getContinueFile(), ""); -} - -/** - * Removes the continue file used to signal the mock http server to continue - * downloading for slow download mar file tests. - */ -function removeContinueFile() { - let continueFile = getContinueFile(); - if (continueFile.exists()) { - debugDump("removing 'continue' file for slow mar downloads"); - continueFile.remove(false); - } -} - -/** - * Checks the wizard page buttons' disabled and hidden attributes values are - * correct. If an expected button id is not specified then the expected disabled - * and hidden attribute value is true. - */ -function checkButtonStates() { - debugDump("entering - TESTS[" + gTestCounter + "], pageid: " + gTest.pageid); - - const buttonNames = ["extra1", "extra2", "back", "next", "finish", "cancel"]; - let buttonStates = getExpectedButtonStates(); - buttonNames.forEach(function(aButtonName) { - let button = gDocElem.getButton(aButtonName); - let hasHidden = aButtonName in buttonStates && - "hidden" in buttonStates[aButtonName]; - let hidden = hasHidden ? buttonStates[aButtonName].hidden : true; - let hasDisabled = aButtonName in buttonStates && - "disabled" in buttonStates[aButtonName]; - let disabled = hasDisabled ? buttonStates[aButtonName].disabled : true; - is(button.hidden, hidden, "Checking " + aButtonName + " button " + - "hidden attribute value equals " + (hidden ? "true" : "false")); - is(button.disabled, disabled, "Checking " + aButtonName + " button " + - "disabled attribute value equals " + (disabled ? "true" : "false")); - }); -} - -/** - * Returns the expected disabled and hidden attribute values for the buttons of - * the current wizard page. - */ -function getExpectedButtonStates() { - // Allow individual tests to override the expected button states. - if (gTest.buttonStates) { - return gTest.buttonStates; - } - - switch (gTest.pageid) { - case PAGEID_CHECKING: - return {cancel: {disabled: false, hidden: false}}; - case PAGEID_FOUND_BASIC: - if (gTest.neverButton) { - return {extra1: {disabled: false, hidden: false}, - extra2: {disabled: false, hidden: false}, - next: {disabled: false, hidden: false}}; - } - return {extra1: {disabled: false, hidden: false}, - next: {disabled: false, hidden: false}}; - case PAGEID_DOWNLOADING: - return {extra1: {disabled: false, hidden: false}}; - case PAGEID_NO_UPDATES_FOUND: - case PAGEID_MANUAL_UPDATE: - case PAGEID_UNSUPPORTED: - case PAGEID_ERRORS: - case PAGEID_ERROR_EXTRA: - return {finish: {disabled: false, hidden: false}}; - case PAGEID_ERROR_PATCHING: - return {next: { disabled: false, hidden: false}}; - case PAGEID_FINISHED: - case PAGEID_FINISHED_BKGRD: - return {extra1: { disabled: false, hidden: false}, - finish: { disabled: false, hidden: false}}; - } - return null; -} - -/** - * Compares the return value of prefHasUserValue for the preference specified in - * gPrefToCheck with the value passed in the aPrefHasValue parameter or the - * value specified in the current test's prefHasUserValue property if - * aPrefHasValue is undefined. - * - * @param aPrefHasValue (optional) - * The expected value returned from prefHasUserValue for the preference - * specified in gPrefToCheck. If aPrefHasValue is undefined the value - * of the current test's prefHasUserValue property will be used. - */ -function checkPrefHasUserValue(aPrefHasValue) { - let prefHasUserValue = aPrefHasValue === undefined ? gTest.prefHasUserValue - : aPrefHasValue; - is(Services.prefs.prefHasUserValue(gPrefToCheck), prefHasUserValue, - "Checking prefHasUserValue for preference " + gPrefToCheck + " equals " + - (prefHasUserValue ? "true" : "false")); -} - -/** - * Checks whether the link is hidden for a general background update check error - * or not on the errorextra page and that the app.update.backgroundErrors - * preference does not have a user value. - * - * @param aShouldBeHidden (optional) - * The expected value for the label's hidden attribute for the link. If - * aShouldBeHidden is undefined the value of the current test's - * shouldBeHidden property will be used. - */ -function checkErrorExtraPage(aShouldBeHidden) { - let shouldBeHidden = aShouldBeHidden === undefined ? gTest.shouldBeHidden - : aShouldBeHidden; - is(gWin.document.getElementById("errorExtraLinkLabel").hidden, shouldBeHidden, - "Checking errorExtraLinkLabel hidden attribute equals " + - (shouldBeHidden ? "true" : "false")); - - is(gWin.document.getElementById(gTest.displayedTextElem).hidden, false, - "Checking " + gTest.displayedTextElem + " should not be hidden"); - - ok(!Services.prefs.prefHasUserValue(PREF_APP_UPDATE_BACKGROUNDERRORS), - "Preference " + PREF_APP_UPDATE_BACKGROUNDERRORS + " should not have a " + - "user value"); -} - -/** - * Gets the update version info for the update url parameters to send to - * update.sjs. - * - * @param aAppVersion (optional) - * The application version for the update snippet. If not specified the - * current application version will be used. - * @return The url parameters for the application and platform version to send - * to update.sjs. - */ -function getVersionParams(aAppVersion) { - let appInfo = Services.appinfo; - return "&appVersion=" + (aAppVersion ? aAppVersion : appInfo.version); -} - -/** - * Verifies that all tests ran. - */ -function verifyTestsRan() { - debugDump("entering"); - - // Return early if there are no tests defined. - if (!TESTS) { - return; - } - - gTestCounter = -1; - for (let i = 0; i < TESTS.length; ++i) { - gTestCounter++; - let test = TESTS[i]; - let msg = "Checking if TESTS[" + i + "] test was performed... " + - "callback function name = " + gCallback.name + ", " + - "pageid = " + test.pageid; - ok(test.ranTest, msg); - } -} - -/** - * Creates a backup of files the tests need to modify so they can be restored to - * the original file when the test has finished and then modifies the files. - */ -function setupFiles() { - // Backup the updater-settings.ini file if it exists by moving it. - let baseAppDir = getGREDir(); - let updateSettingsIni = baseAppDir.clone(); - updateSettingsIni.append(FILE_UPDATE_SETTINGS_INI); - if (updateSettingsIni.exists()) { - updateSettingsIni.moveTo(baseAppDir, FILE_UPDATE_SETTINGS_INI_BAK); - } - updateSettingsIni = baseAppDir.clone(); - updateSettingsIni.append(FILE_UPDATE_SETTINGS_INI); - writeFile(updateSettingsIni, UPDATE_SETTINGS_CONTENTS); -} - -/** - * For tests that use the test updater restores the backed up real updater if - * it exists and tries again on failure since Windows debug builds at times - * leave the file in use. After success moveRealUpdater is called to continue - * the setup of the test updater. For tests that don't use the test updater - * runTest will be called. - */ -function setupTestUpdater() { - if (!gUseTestUpdater) { - runTest(); - return; - } - - try { - restoreUpdaterBackup(); - } catch (e) { - logTestInfo("Attempt to restore the backed up updater failed... " + - "will try again, Exception: " + e); - SimpleTest.executeSoon(setupTestUpdater); - return; - } - moveRealUpdater(); -} - -/** - * Backs up the real updater and tries again on failure since Windows debug - * builds at times leave the file in use. After success it will call - * copyTestUpdater to continue the setup of the test updater. - */ -function moveRealUpdater() { - try { - // Move away the real updater - let baseAppDir = getAppBaseDir(); - let updater = baseAppDir.clone(); - updater.append(FILE_UPDATER_BIN); - updater.moveTo(baseAppDir, FILE_UPDATER_BIN_BAK); - } catch (e) { - logTestInfo("Attempt to move the real updater out of the way failed... " + - "will try again, Exception: " + e); - SimpleTest.executeSoon(moveRealUpdater); - return; - } - - copyTestUpdater(); -} - -/** - * Copies the test updater so it can be used by tests and tries again on failure - * since Windows debug builds at times leave the file in use. After success it - * will call runTest to continue the test. - */ -function copyTestUpdater() { - try { - // Copy the test updater - let baseAppDir = getAppBaseDir(); - let testUpdaterDir = Services.dirsvc.get("CurWorkD", Ci.nsILocalFile); - let relPath = REL_PATH_DATA; - let pathParts = relPath.split("/"); - for (let i = 0; i < pathParts.length; ++i) { - testUpdaterDir.append(pathParts[i]); - } - - let testUpdater = testUpdaterDir.clone(); - testUpdater.append(FILE_UPDATER_BIN); - testUpdater.copyToFollowingLinks(baseAppDir, FILE_UPDATER_BIN); - } catch (e) { - logTestInfo("Attempt to copy the test updater failed... " + - "will try again, Exception: " + e); - SimpleTest.executeSoon(copyTestUpdater); - return; - } - - runTest(); -} - -/** - * Restores the updater that was backed up. This is called in setupTestUpdater - * before the backup of the real updater is done in case the previous test - * failed to restore the updater, in finishTestDefaultWaitForWindowClosed when - * the test has finished, and in test_9999_cleanup.xul after all tests have - * finished. - */ -function restoreUpdaterBackup() { - let baseAppDir = getAppBaseDir(); - let updater = baseAppDir.clone(); - let updaterBackup = baseAppDir.clone(); - updater.append(FILE_UPDATER_BIN); - updaterBackup.append(FILE_UPDATER_BIN_BAK); - if (updaterBackup.exists()) { - if (updater.exists()) { - updater.remove(true); - } - updaterBackup.moveTo(baseAppDir, FILE_UPDATER_BIN); - } -} - -/** - * Sets the most common preferences used by tests to values used by the majority - * of the tests and when necessary saves the preference's original values if - * present so they can be set back to the original values when the test has - * finished. - */ -function setupPrefs() { - if (DEBUG_AUS_TEST) { - Services.prefs.setBoolPref(PREF_APP_UPDATE_LOG, true); - } - - // Prevent nsIUpdateTimerManager from notifying nsIApplicationUpdateService - // to check for updates by setting the app update last update time to the - // current time minus one minute in seconds and the interval time to 12 hours - // in seconds. - let now = Math.round(Date.now() / 1000) - 60; - Services.prefs.setIntPref(PREF_APP_UPDATE_LASTUPDATETIME, now); - Services.prefs.setIntPref(PREF_APP_UPDATE_INTERVAL, 43200); - - if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_ENABLED)) { - gAppUpdateEnabled = Services.prefs.getBoolPref(PREF_APP_UPDATE_ENABLED); - } - Services.prefs.setBoolPref(PREF_APP_UPDATE_ENABLED, true); - - if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_SERVICE_ENABLED)) { - gAppUpdateServiceEnabled = Services.prefs.getBoolPref(PREF_APP_UPDATE_SERVICE_ENABLED); - } - Services.prefs.setBoolPref(PREF_APP_UPDATE_SERVICE_ENABLED, false); - - if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_STAGING_ENABLED)) { - gAppUpdateStagingEnabled = Services.prefs.getBoolPref(PREF_APP_UPDATE_STAGING_ENABLED); - } - Services.prefs.setBoolPref(PREF_APP_UPDATE_STAGING_ENABLED, false); - - Services.prefs.setIntPref(PREF_APP_UPDATE_IDLETIME, 0); - Services.prefs.setIntPref(PREF_APP_UPDATE_PROMPTWAITTIME, 0); - Services.prefs.setBoolPref(PREF_APP_UPDATE_SILENT, false); - Services.prefs.setIntPref(PREF_APP_UPDATE_DOWNLOADBACKGROUNDINTERVAL, 0); -} - -/** - * Restores files that were backed up for the tests and general file cleanup. - */ -function resetFiles() { - // Restore the backed up updater-settings.ini if it exists. - let baseAppDir = getGREDir(); - let updateSettingsIni = baseAppDir.clone(); - updateSettingsIni.append(FILE_UPDATE_SETTINGS_INI_BAK); - if (updateSettingsIni.exists()) { - updateSettingsIni.moveTo(baseAppDir, FILE_UPDATE_SETTINGS_INI); - } - - // Not being able to remove the "updated" directory will not adversely affect - // subsequent tests so wrap it in a try block and don't test whether its - // removal was successful. - let updatedDir; - if (IS_MACOSX) { - updatedDir = getUpdatesDir(); - updatedDir.append(DIR_PATCH); - } else { - updatedDir = getAppBaseDir(); - } - updatedDir.append(DIR_UPDATED); - if (updatedDir.exists()) { - try { - removeDirRecursive(updatedDir); - } - catch (e) { - logTestInfo("Unable to remove directory. Path: " + updatedDir.path + - ", Exception: " + e); - } - } -} - -/** - * Resets the most common preferences used by tests to their original values. - */ -function resetPrefs() { - if (gAppUpdateURLDefault) { - gDefaultPrefBranch.setCharPref(PREF_APP_UPDATE_URL, gAppUpdateURLDefault); - } - - if (gAppUpdateEnabled !== undefined) { - Services.prefs.setBoolPref(PREF_APP_UPDATE_ENABLED, gAppUpdateEnabled); - } else if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_ENABLED)) { - Services.prefs.clearUserPref(PREF_APP_UPDATE_ENABLED); - } - - if (gAppUpdateServiceEnabled !== undefined) { - Services.prefs.setBoolPref(PREF_APP_UPDATE_SERVICE_ENABLED, gAppUpdateServiceEnabled); - } else if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_SERVICE_ENABLED)) { - Services.prefs.clearUserPref(PREF_APP_UPDATE_SERVICE_ENABLED); - } - - if (gAppUpdateStagingEnabled !== undefined) { - Services.prefs.setBoolPref(PREF_APP_UPDATE_STAGING_ENABLED, gAppUpdateStagingEnabled); - } else if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_STAGING_ENABLED)) { - Services.prefs.clearUserPref(PREF_APP_UPDATE_STAGING_ENABLED); - } - - if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_IDLETIME)) { - Services.prefs.clearUserPref(PREF_APP_UPDATE_IDLETIME); - } - - if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_PROMPTWAITTIME)) { - Services.prefs.clearUserPref(PREF_APP_UPDATE_PROMPTWAITTIME); - } - - if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_URL_DETAILS)) { - Services.prefs.clearUserPref(PREF_APP_UPDATE_URL_DETAILS); - } - - if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_NOTIFIEDUNSUPPORTED)) { - Services.prefs.clearUserPref(PREF_APP_UPDATE_NOTIFIEDUNSUPPORTED); - } - - if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_LOG)) { - Services.prefs.clearUserPref(PREF_APP_UPDATE_LOG); - } - - if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_SILENT)) { - Services.prefs.clearUserPref(PREF_APP_UPDATE_SILENT); - } - - if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_BACKGROUNDERRORS)) { - Services.prefs.clearUserPref(PREF_APP_UPDATE_BACKGROUNDERRORS); - } - - if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_BACKGROUNDMAXERRORS)) { - Services.prefs.clearUserPref(PREF_APP_UPDATE_BACKGROUNDMAXERRORS); - } - - if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_DOWNLOADBACKGROUNDINTERVAL)) { - Services.prefs.clearUserPref(PREF_APP_UPDATE_DOWNLOADBACKGROUNDINTERVAL); - } - - try { - Services.prefs.deleteBranch(PREFBRANCH_APP_UPDATE_NEVER); - } - catch (e) { - } -} - -function setupTimer(aTestTimeout) { - gTestTimeout = aTestTimeout; - if (gTimeoutTimer) { - gTimeoutTimer.cancel(); - gTimeoutTimer = null; - } - gTimeoutTimer = Cc["@mozilla.org/timer;1"]. - createInstance(Ci.nsITimer); - gTimeoutTimer.initWithCallback(finishTestTimeout, gTestTimeout, - Ci.nsITimer.TYPE_ONE_SHOT); -} - -/** - * Closes the update window if it is open and causes the test to fail if an - * update window is found. - * - * @return true if an update window was found, otherwise false. - */ -function closeUpdateWindow() { - let updateWindow = getUpdateWindow(); - if (!updateWindow) { - return false; - } - - ok(false, "Found an existing Update Window from the current or a previous " + - "test... attempting to close it."); - updateWindow.close(); - return true; -} - -/** - * Gets the update window. - * - * @return The nsIDOMWindow for the Update Window if it is open and null - * if it isn't. - */ -function getUpdateWindow() { - return Services.wm.getMostRecentWindow(UPDATE_WINDOW_NAME); -} - -/** - * Helper for background check errors. - */ -const errorsPrefObserver = { - observedPref: null, - maxErrorPref: null, - - /** - * Sets up a preference observer and sets the associated maximum errors - * preference used for background notification. - * - * @param aObservePref - * The preference to observe. - * @param aMaxErrorPref - * The maximum errors preference. - * @param aMaxErrorCount - * The value to set the maximum errors preference to. - */ - init: function(aObservePref, aMaxErrorPref, aMaxErrorCount) { - this.observedPref = aObservePref; - this.maxErrorPref = aMaxErrorPref; - - let maxErrors = aMaxErrorCount ? aMaxErrorCount : 2; - Services.prefs.setIntPref(aMaxErrorPref, maxErrors); - Services.prefs.addObserver(aObservePref, this, false); - }, - - /** - * Preference observer for the preference specified in |this.observedPref|. - */ - observe: function XPI_observe(aSubject, aTopic, aData) { - if (aData == this.observedPref) { - let errCount = Services.prefs.getIntPref(this.observedPref); - let errMax = Services.prefs.getIntPref(this.maxErrorPref); - if (errCount >= errMax) { - debugDump("removing pref observer"); - Services.prefs.removeObserver(this.observedPref, this); - } else { - debugDump("notifying AUS"); - SimpleTest.executeSoon(function() { - gAUS.notify(null); - }); - } - } - } -}; -- cgit v1.2.3