From 8ade958dd11862cd44fa3ea6c191a0508ffe88d8 Mon Sep 17 00:00:00 2001 From: jgen Date: Sat, 22 Feb 2014 16:04:04 -0500 Subject: [PATCH] Working on getting PostgreSQL to work on Travis. --- .travis.yml | 2 ++ tests/test_install.php | 30 ++++++++++++++++++------------ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index be323abd..094bf217 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,6 +43,8 @@ after_failure: - sudo cat /var/log/mysql.log - sudo cat /var/log/mysql/error.log - sudo cat /var/log/mysql/slow.log + - sudo ls /var/log/postgresql + - sudo cat /var/log/postgresql/postgresql* # configure notifications (email, IRC, campfire etc) #notifications: diff --git a/tests/test_install.php b/tests/test_install.php index 8519c6d5..4d1022cf 100644 --- a/tests/test_install.php +++ b/tests/test_install.php @@ -15,22 +15,37 @@ require_once('lib/simpletest/reporter.php'); // Enable all errors. error_reporting(E_ALL); -// Get the command line option telling us what database to use. +// Get the command line option telling us what database and host to use. $options = getopt("d:h:"); $db = $options["d"]; $host = rtrim(trim(trim($options["h"], '"')), "/"); +// Check if they are empty. if (empty($db)){ die("Error: need to specifiy a database for the test environment."); } if (empty($host)){ $host = "http://127.0.0.1"; } define("_TRAVIS_DATABASE", $db); define("_TRAVIS_WEBHOST", $host); +// Currently the tests only support MySQL and PostgreSQL. +if ($db == "mysql") { + define("_TRAVIS_DATABASE_USERNAME", "root"); + define("_TRAVIS_DATABASE_PASSWORD", ""); +} elseif ($db == "pgsql") { + define("_TRAVIS_DATABASE_USERNAME", "postgres"); + define("_TRAVIS_DATABASE_PASSWORD", ""); +} else { + die("Unsupported Database Option"); +} + class ShimmieInstallerTest extends WebTestCase { function testInstallShimmie() { + // Get the settings from the global constants. $db = constant("_TRAVIS_DATABASE"); $host = constant("_TRAVIS_WEBHOST"); + $username = constant("_TRAVIS_DATABASE_USERNAME"); + $password = constant("_TRAVIS_DATABASE_PASSWORD"); // Make sure that we know where the host is. $this->assertFalse(empty($host)); @@ -44,17 +59,8 @@ class ShimmieInstallerTest extends WebTestCase { $this->setField("database_type", $db); $this->assertField("database_host", "localhost"); - - if ($db === "mysql") { - $this->setField("database_user", "root"); - $this->setField("database_password", ""); - } elseif ($db === "pgsql") { - $this->setField("database_user", "postgres"); - $this->setField("database_password", ""); - } else { - die("Unsupported Database Option"); - } - + $this->setField("database_user", $username); + $this->setField("database_password", $password); $this->assertField("database_name", "shimmie"); $this->clickSubmit("Go!");