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:?
#!/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
#!/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"
#!/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"
--- /dev/null
+wizard install "mediawiki-$VERSION-scripts" "$TESTDIR" --non-interactive -- --title="TestApp"
#!/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
#!/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`
#!/bin/bash -e
-TESTNAME="upgrade_mediawiki"
+TESTNAME="mediawiki_upgrade"
source ./setup
wizard install mediawiki-$VERSION-scripts "$TESTDIR" --non-interactive -- --title="TestApp"
#!/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"
--- /dev/null
+wizard install "wordpress-$VERSION-scripts" "$TESTDIR" --non-interactive -- --title="My Blog"
#!/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
#!/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"
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
class InstallFailure(Error):
"""Installation failed for unknown reason."""
- pass
+ def __str__(self):
+ return """Installation failed for unknown reason."""
class RecoverableInstallFailure(InstallFailure):
"""
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."""
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