From 1e6d44f3192d6782a776e7d6b4cf30b3db43c073 Mon Sep 17 00:00:00 2001 From: Robert Strong Date: Tue, 21 Dec 2010 16:32:35 -0800 Subject: [PATCH] Bug 617512 - Additional tests for deprecated update xml format. r=dtownsend, a=tests --- .../mozapps/update/test/chrome/Makefile.in | 2 + ...test_0900_deprecatedUpdateFormat_minor.xul | 48 ++++++++++++++++ ...test_0901_deprecatedUpdateFormat_major.xul | 57 +++++++++++++++++++ toolkit/mozapps/update/test/chrome/update.sjs | 26 +++++++-- .../update/test/unit/head_update.js.in | 26 +++++++++ .../update/test/unit/test_0060_manager.js | 15 ++--- .../unit/test_0200_app_launch_apply_update.js | 27 +-------- 7 files changed, 161 insertions(+), 40 deletions(-) create mode 100644 toolkit/mozapps/update/test/chrome/test_0900_deprecatedUpdateFormat_minor.xul create mode 100644 toolkit/mozapps/update/test/chrome/test_0901_deprecatedUpdateFormat_major.xul diff --git a/toolkit/mozapps/update/test/chrome/Makefile.in b/toolkit/mozapps/update/test/chrome/Makefile.in index 35d3145e16d8..eb6beb462663 100644 --- a/toolkit/mozapps/update/test/chrome/Makefile.in +++ b/toolkit/mozapps/update/test/chrome/Makefile.in @@ -101,6 +101,8 @@ _CHROME_FILES = \ test_0141_notify_invalidCertAttrs_noUpdate.xul \ test_0142_notify_invalidCertAttrs_hasUpdate.xul \ test_0151_notify_backgroundCheckError.xul \ + test_0900_deprecatedUpdateFormat_minor.xul \ + test_0901_deprecatedUpdateFormat_major.xul \ test_9999_cleanup.xul \ $(NULL) diff --git a/toolkit/mozapps/update/test/chrome/test_0900_deprecatedUpdateFormat_minor.xul b/toolkit/mozapps/update/test/chrome/test_0900_deprecatedUpdateFormat_minor.xul new file mode 100644 index 000000000000..d7d91a55b2ba --- /dev/null +++ b/toolkit/mozapps/update/test/chrome/test_0900_deprecatedUpdateFormat_minor.xul @@ -0,0 +1,48 @@ + + + + + + + + + + +

+ +

+
+
diff --git a/toolkit/mozapps/update/test/chrome/test_0901_deprecatedUpdateFormat_major.xul b/toolkit/mozapps/update/test/chrome/test_0901_deprecatedUpdateFormat_major.xul new file mode 100644 index 000000000000..da8eae49dcb6 --- /dev/null +++ b/toolkit/mozapps/update/test/chrome/test_0901_deprecatedUpdateFormat_major.xul @@ -0,0 +1,57 @@ + + + + + + + + + + +

+ +

+
+
diff --git a/toolkit/mozapps/update/test/chrome/update.sjs b/toolkit/mozapps/update/test/chrome/update.sjs index cbede30f4712..1e11b99fefe5 100644 --- a/toolkit/mozapps/update/test/chrome/update.sjs +++ b/toolkit/mozapps/update/test/chrome/update.sjs @@ -123,13 +123,29 @@ function handleRequest(aRequest, aResponse) { var showPrompt = params.showPrompt ? "true" : null; var showNever = params.showNever ? "true" : null; var showSurvey = params.showSurvey ? "true" : null; - var extra1 = params.extra1 ? params.extra1 : null; + + // For testing the deprecated update xml format + if (params.oldFormat) { + appVersion = null; + displayVersion = null; + billboardURL = null; + showPrompt = null; + showNever = null; + showSurvey = null; + detailsURL = URL_UPDATE + "?uiURL=BILLBOARD"; + if (params.remoteNoTypeAttr) + detailsURL += "&remoteNoTypeAttr=1"; + var extensionVersion = params.appVersion ? params.appVersion : "99.9"; + var version = params.displayVersion ? params.displayVersion + : "version " + extensionVersion; + } + var updates = getRemoteUpdateString(patches, type, "App Update Test", displayVersion, appVersion, - platformVersion, buildID, - detailsURL, billboardURL, - licenseURL, showPrompt, - showNever, showSurvey, "test extra1"); + platformVersion, buildID, detailsURL, + billboardURL, licenseURL, showPrompt, + showNever, showSurvey, version, + extensionVersion); aResponse.write(getRemoteUpdatesXMLString(updates)); } diff --git a/toolkit/mozapps/update/test/unit/head_update.js.in b/toolkit/mozapps/update/test/unit/head_update.js.in index 8f72f7eb4634..e3d3a7aff515 100644 --- a/toolkit/mozapps/update/test/unit/head_update.js.in +++ b/toolkit/mozapps/update/test/unit/head_update.js.in @@ -244,6 +244,32 @@ function runUpdate(aTestID) { return process.exitValue; } +/** + * Gets the platform specific shell binary that is launched using nsIProcess and + * in turn launches the updater. + * + * @return nsIFile for the shell binary to launch using nsIProcess. + * @throws if the shell binary doesn't exist. + */ +function getLaunchBin() { + let launchBin; + if (IS_WIN) { + launchBin = Services.dirsvc.get("WinD", AUS_Ci.nsIFile); + launchBin.append("System32"); + launchBin.append("cmd.exe"); + } + else { + launchBin = AUS_Cc["@mozilla.org/file/local;1"]. + createInstance(AUS_Ci.nsILocalFile); + launchBin.initWithPath("/bin/sh"); + } + + if (!launchBin.exists()) + do_throw(launchBin.path + " must exist to run this test!"); + + return launchBin; +} + /** * Helper function for updater tests for setting up the files and directories * used by the updater tests. diff --git a/toolkit/mozapps/update/test/unit/test_0060_manager.js b/toolkit/mozapps/update/test/unit/test_0060_manager.js index 375c722c0b38..e21af59861dc 100644 --- a/toolkit/mozapps/update/test/unit/test_0060_manager.js +++ b/toolkit/mozapps/update/test/unit/test_0060_manager.js @@ -128,9 +128,6 @@ function run_test() { do_check_eq(update.detailsURL, "http://details2/"); do_check_eq(update.billboardURL, "http://details2/"); do_check_eq(update.licenseURL, null); - do_check_true(update.showPrompt); - do_check_true(update.showNeverForVersion); - do_check_false(update.showSurvey); do_check_eq(update.serviceURL, "http://service2/"); do_check_eq(update.installDate, "1238441400314"); do_check_eq(update.statusText, getString("patchApplyFailure")); @@ -197,15 +194,15 @@ function run_test() { do_check_eq(update.detailsURL, "http://details/"); do_check_eq(update.billboardURL, "http://billboard/"); do_check_eq(update.licenseURL, "http://license/"); - do_check_true(update.showPrompt); - do_check_true(update.showNeverForVersion); - do_check_true(update.showSurvey); do_check_eq(update.serviceURL, "http://service/"); do_check_eq(update.installDate, "1238441400314"); do_check_eq(update.statusText, getString("installSuccess")); do_check_eq(update.buildID, "20080811053724"); do_check_true(update.isCompleteUpdate); do_check_eq(update.channel, "test_channel"); + do_check_true(update.showPrompt); + do_check_true(update.showNeverForVersion); + do_check_true(update.showSurvey); do_check_eq(update.previousAppVersion, "3.0"); patch = update.selectedPatch; @@ -227,15 +224,15 @@ function run_test() { do_check_eq(update.detailsURL, "http://details/"); do_check_eq(update.billboardURL, null); do_check_eq(update.licenseURL, null); - do_check_false(update.showPrompt); - do_check_false(update.showNeverForVersion); - do_check_false(update.showSurvey); do_check_eq(update.serviceURL, "http://service/"); do_check_eq(update.installDate, "1238441400314"); do_check_eq(update.statusText, getString("patchApplyFailure")); do_check_eq(update.buildID, "20080811053724"); do_check_true(update.isCompleteUpdate); do_check_eq(update.channel, "test_channel"); + do_check_false(update.showPrompt); + do_check_false(update.showNeverForVersion); + do_check_false(update.showSurvey); do_check_eq(update.previousAppVersion, null); patch = update.selectedPatch; diff --git a/toolkit/mozapps/update/test/unit/test_0200_app_launch_apply_update.js b/toolkit/mozapps/update/test/unit/test_0200_app_launch_apply_update.js index 98b0f51d7c57..8660fbc64092 100644 --- a/toolkit/mozapps/update/test/unit/test_0200_app_launch_apply_update.js +++ b/toolkit/mozapps/update/test/unit/test_0200_app_launch_apply_update.js @@ -192,11 +192,7 @@ function run_test() { let launchBin = getLaunchBin(); let args = getProcessArgs(); - let infoArgs = ""; - args.forEach(function(aArg) { - infoArgs += " " + aArg; - }); - logTestInfo("launching " + launchBin.path + infoArgs); + logTestInfo("launching " + launchBin.path + " " + args.join(" ")); gProcess = AUS_Cc["@mozilla.org/process/util;1"]. createInstance(AUS_Ci.nsIProcess); @@ -442,27 +438,6 @@ function resetEnvironment() { } } -/** - * Gets the platform specific binary used to launch the application using - * nsIProcess. - * - * @return nsIFile for the binary to launch using nsIProcess. - */ -function getLaunchBin() { - let launchBin; - if (IS_WIN) { - launchBin = Services.dirsvc.get("WinD", AUS_Ci.nsIFile); - launchBin.append("System32"); - launchBin.append("cmd.exe"); - } - else { - launchBin = AUS_Cc["@mozilla.org/file/local;1"]. - createInstance(AUS_Ci.nsILocalFile); - launchBin.initWithPath("/bin/sh"); - } - return launchBin; -} - /** * Returns the platform specific arguments used by nsIProcess when launching * the application.