From 3f18b7fff1c5d5cd3d91897a85a425704ba4295e Mon Sep 17 00:00:00 2001 From: "Edward Z. Yang" Date: Wed, 25 Nov 2009 12:11:14 -0500 Subject: [PATCH] Reduce duplication in test scripts, more logging. Signed-off-by: Edward Z. Yang --- TODO | 1 - tests/mediawiki-backup-restore-test.sh | 4 ++-- tests/mediawiki-continue-upgrade-test.sh | 4 ++-- tests/mediawiki-fail-upgrade-test.sh | 4 ++-- tests/mediawiki-install | 1 + tests/mediawiki-install-test.sh | 5 ++--- tests/mediawiki-restore-upgrade-test.sh | 4 ++-- tests/mediawiki-upgrade-test.sh | 2 +- tests/mediawiki-webfail-upgrade-test.sh | 4 ++-- tests/wordpress-install | 1 + tests/wordpress-install-test.sh | 4 ++-- tests/wordpress-upgrade-test.sh | 4 ++-- wizard/app/__init__.py | 20 ++++++++++---------- wizard/command/upgrade.py | 2 +- 14 files changed, 30 insertions(+), 30 deletions(-) create mode 100644 tests/mediawiki-install create mode 100644 tests/wordpress-install diff --git a/TODO b/TODO index c5f7aa7..4288d07 100644 --- a/TODO +++ b/TODO @@ -18,7 +18,6 @@ TODO NOW: and have someone manually resolve the problem. If autodetection is not available, we use the saved .scripts/url for operations. -- Test code duplication (app specific parameters), also naming sucks for autocomplete - wizard install wordpress should ask for password - Test code should auto-nuke the database using `wizard remove` before doing a new install - git diff :1:$file :2:$file to find out what the user did, or is it :3:? diff --git a/tests/mediawiki-backup-restore-test.sh b/tests/mediawiki-backup-restore-test.sh index a5f00de..bb7b345 100755 --- a/tests/mediawiki-backup-restore-test.sh +++ b/tests/mediawiki-backup-restore-test.sh @@ -1,9 +1,9 @@ #!/bin/bash -e -TESTNAME="backup_restore_mediawiki" +TESTNAME="mediawiki_backup_restore" source ./setup -wizard install mediawiki-$VERSION-scripts "$TESTDIR" --non-interactive -- --title="TestApp" +source ./mediawiki-install cd "$TESTDIR" wizard backup diff --git a/tests/mediawiki-continue-upgrade-test.sh b/tests/mediawiki-continue-upgrade-test.sh index 2a9827f..4978cbd 100755 --- a/tests/mediawiki-continue-upgrade-test.sh +++ b/tests/mediawiki-continue-upgrade-test.sh @@ -1,9 +1,9 @@ #!/bin/bash -e -TESTNAME="continue_upgrade_mediawiki" +TESTNAME="mediawiki_continue_upgrade" source ./setup -wizard install mediawiki-$VERSION-scripts "$TESTDIR" --non-interactive -- --title="TestApp" +source ./mediawiki-install # nuke the install FROB="RELEASE-NOTES" diff --git a/tests/mediawiki-fail-upgrade-test.sh b/tests/mediawiki-fail-upgrade-test.sh index 9dd8e0e..9ae0a6e 100755 --- a/tests/mediawiki-fail-upgrade-test.sh +++ b/tests/mediawiki-fail-upgrade-test.sh @@ -1,9 +1,9 @@ #!/bin/bash -e -TESTNAME="upgrade_mediawiki_fail" +TESTNAME="mediawiki_fail_upgrade" source ./setup -wizard install mediawiki-$VERSION-scripts "$TESTDIR" --non-interactive -- --title="TestApp" +source ./mediawiki-install echo "FAILURE" > "$TESTDIR/maintenance/update.php" wizard upgrade "$TESTDIR" || true cd "$TESTDIR" diff --git a/tests/mediawiki-install b/tests/mediawiki-install new file mode 100644 index 0000000..d8d875a --- /dev/null +++ b/tests/mediawiki-install @@ -0,0 +1 @@ +wizard install "mediawiki-$VERSION-scripts" "$TESTDIR" --non-interactive -- --title="TestApp" diff --git a/tests/mediawiki-install-test.sh b/tests/mediawiki-install-test.sh index cadcecf..633fbcd 100755 --- a/tests/mediawiki-install-test.sh +++ b/tests/mediawiki-install-test.sh @@ -1,7 +1,6 @@ #!/bin/bash -e DEFAULT_HEAD=1 -TESTNAME="install_mediawiki" +TESTNAME="mediawiki_install" source ./setup - -wizard install "mediawiki-$VERSION-scripts" "$TESTDIR" --non-interactive -- --title="TestApp" +source ./mediawiki-install diff --git a/tests/mediawiki-restore-upgrade-test.sh b/tests/mediawiki-restore-upgrade-test.sh index c7bb743..759cd7e 100755 --- a/tests/mediawiki-restore-upgrade-test.sh +++ b/tests/mediawiki-restore-upgrade-test.sh @@ -1,9 +1,9 @@ #!/bin/bash -e -TESTNAME="upgrade_mediawiki_restore" +TESTNAME="mediawiki_restore_upgrade" source ./setup -wizard install mediawiki-$VERSION-scripts "$TESTDIR" --non-interactive -- --title="TestApp" +source ./mediawiki-install wizard upgrade "$TESTDIR" cd "$TESTDIR" BACKUP=`wizard restore | head -n1` diff --git a/tests/mediawiki-upgrade-test.sh b/tests/mediawiki-upgrade-test.sh index 334a13b..43b7721 100755 --- a/tests/mediawiki-upgrade-test.sh +++ b/tests/mediawiki-upgrade-test.sh @@ -1,6 +1,6 @@ #!/bin/bash -e -TESTNAME="upgrade_mediawiki" +TESTNAME="mediawiki_upgrade" source ./setup wizard install mediawiki-$VERSION-scripts "$TESTDIR" --non-interactive -- --title="TestApp" diff --git a/tests/mediawiki-webfail-upgrade-test.sh b/tests/mediawiki-webfail-upgrade-test.sh index 07eb07f..d3f5170 100755 --- a/tests/mediawiki-webfail-upgrade-test.sh +++ b/tests/mediawiki-webfail-upgrade-test.sh @@ -1,9 +1,9 @@ #!/bin/bash -e -TESTNAME="upgrade_mediawiki_webfail" +TESTNAME="mediawiki_webfail_upgrade" source ./setup -wizard install mediawiki-$VERSION-scripts "$TESTDIR" --non-interactive -- --title="TestApp" +source ./mediawiki-install cp mediawiki-webfail-upgrade-php "$TESTDIR/maintenance/update.php" wizard upgrade "$TESTDIR" || true cd "$TESTDIR" diff --git a/tests/wordpress-install b/tests/wordpress-install new file mode 100644 index 0000000..6e5fe61 --- /dev/null +++ b/tests/wordpress-install @@ -0,0 +1 @@ +wizard install "wordpress-$VERSION-scripts" "$TESTDIR" --non-interactive -- --title="My Blog" diff --git a/tests/wordpress-install-test.sh b/tests/wordpress-install-test.sh index 254f4ef..17f2f8a 100755 --- a/tests/wordpress-install-test.sh +++ b/tests/wordpress-install-test.sh @@ -1,7 +1,7 @@ #!/bin/bash -e DEFAULT_HEAD=1 -TESTNAME="install_wordpress" +TESTNAME="wordpress_install" source ./setup -wizard install "wordpress-$VERSION-scripts" "$TESTDIR" --non-interactive -- --title="My Blog" +source ./wordpress-install diff --git a/tests/wordpress-upgrade-test.sh b/tests/wordpress-upgrade-test.sh index ef3dfbd..241e383 100755 --- a/tests/wordpress-upgrade-test.sh +++ b/tests/wordpress-upgrade-test.sh @@ -1,7 +1,7 @@ #!/bin/bash -e -TESTNAME="upgrade_wordpress" +TESTNAME="wordpress_upgrade" source ./setup -wizard install wordpress-$VERSION-scripts "$TESTDIR" --non-interactive -- --title="My Blog" +source ./wordpress-install wizard upgrade "$TESTDIR" diff --git a/wizard/app/__init__.py b/wizard/app/__init__.py index 483f7ee..ee9f58d 100644 --- a/wizard/app/__init__.py +++ b/wizard/app/__init__.py @@ -264,8 +264,12 @@ class Application(object): Checks if a given page of an autoinstall contains a particular string. """ page = deployment.fetch(page) - logging.info("checkWebPage:\n\n" + page) - return page.find(output) != -1 + result = page.find(output) != -1 + if result: + logging.debug("checkWebPage (passed):\n\n" + page) + else: + logging.info("checkWebPage (failed):\n\n" + page) + return result def checkConfig(self, deployment): """ Checks whether or not an autoinstall has been configured/installed @@ -591,7 +595,8 @@ class Failure(Error): class InstallFailure(Error): """Installation failed for unknown reason.""" - pass + def __str__(self): + return """Installation failed for unknown reason.""" class RecoverableInstallFailure(InstallFailure): """ @@ -621,16 +626,11 @@ ERROR: Upgrade script failed, details: class UpgradeVerificationFailure(Failure): """Upgrade script passed, but website wasn't accessible afterwards""" - #: String details of failure (possibly stdout or stderr output) - details = None - def __init__(self, details): - self.details = details def __str__(self): return """ -ERROR: Upgrade script passed, but website wasn't accessible afterwards. Details: - -%s""" % self.details +ERROR: Upgrade script passed, but website wasn't accessible afterwards. Check +the debug logs for the contents of the page.""" class BackupFailure(Failure): """Backup script failed.""" diff --git a/wizard/command/upgrade.py b/wizard/command/upgrade.py index 4cb402f..476c1b7 100644 --- a/wizard/command/upgrade.py +++ b/wizard/command/upgrade.py @@ -145,7 +145,7 @@ def main(argv, baton): except deploy.WebVerificationError as e: logging.warning("Web verification failed: rolling back") perform_restore(d, backup) - raise app.UpgradeVerificationFailure(e.contents) + raise app.UpgradeVerificationFailure() # XXX: frob .htaccess to make site accessible # to do this, check if .htaccess changed, first. Upgrade # process might have frobbed it. Don't be -- 2.44.0