From: Hypolite Petovan Date: Tue, 3 Jul 2018 12:26:44 +0000 (-0400) Subject: Use MYSQL_* environment variables for tests X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=eaa3e4d15737413848244410878f7eca3f6a9741;p=friendica.git Use MYSQL_* environment variables for tests - Prevent `.htconfig.php` override when present during tests. --- eaa3e4d15737413848244410878f7eca3f6a9741 diff --cc .travis.yml index 82b5a5d218,82b5a5d218..b722fe77f1 --- a/.travis.yml +++ b/.travis.yml @@@ -10,11 -10,11 +10,9 @@@ php services: - mysql env: -- - USER=travis DB=test ++ - MYSQL_HOST=localhost MYSQL_PORT=3306 MYSQL_USERNAME=travis MYSQL_PASSWORD= MYSQL_DATABASE=test install: - composer install before_script: - mysql -e 'CREATE DATABASE IF NOT EXISTS test;' -- # In order to avoid bin/worker.php warnings -- - touch .htconfig.php diff --cc htconfig.php index 0e838bd90d,0e838bd90d..87c1301abd --- a/htconfig.php +++ b/htconfig.php @@@ -23,17 -23,17 +23,19 @@@ $db_data = 'mysqldatabasename' // Use environment variables for mysql if they are set beforehand if (!empty(getenv('MYSQL_HOST')) -- && !empty(getenv('MYSQL_PORT')) && (!empty(getenv('MYSQL_USERNAME')) || !empty(getenv('MYSQL_USER'))) -- && !empty(getenv('MYSQL_PASSWORD')) ++ && !getenv('MYSQL_PASSWORD') === false && !empty(getenv('MYSQL_DATABASE'))) { -- $db_host = getenv('MYSQL_HOST') . ':' . getenv('MYSQL_PORT'); ++ $db_host = getenv('MYSQL_HOST'); ++ if (!empty(getenv('MYSQL_PORT'))) { ++ $db_host .= ':' . getenv('MYSQL_PORT'); ++ } if (!empty(getenv('MYSQL_USERNAME'))) { $db_user = getenv('MYSQL_USERNAME'); -- } elseif (!empty(getenv('MYSQL_USER'))) { ++ } else { $db_user = getenv('MYSQL_USER'); } -- $db_pass = getenv('MYSQL_PASSWORD'); ++ $db_pass = (string) getenv('MYSQL_PASSWORD'); $db_data = getenv('MYSQL_DATABASE'); } diff --cc tests/DatabaseTest.php index 6edd45e575,408e4b0cd3..b53d59161a --- a/tests/DatabaseTest.php +++ b/tests/DatabaseTest.php @@@ -33,15 -33,15 +33,13 @@@ abstract class DatabaseTest extends Tes $base_config_file_path = stream_resolve_include_path($base_config_file_name); $config_file_path = dirname($base_config_file_path) . DIRECTORY_SEPARATOR . $config_file_name; -- $config_string = file_get_contents($base_config_file_path); ++ if (!file_exists($config_file_path)) { ++ $config_string = file_get_contents($base_config_file_path); - $config_string = str_replace('die(', '// die(', $config_string); - $config_string = str_replace('your.mysqlhost.com', 'localhost', $config_string); - $config_string = str_replace('mysqlusername' , getenv('USER'), $config_string); - $config_string = str_replace('mysqlpassword' , getenv('PASS'), $config_string); - $config_string = str_replace('mysqldatabasename' , getenv('DB'), $config_string); - $config_string = str_replace('die(', '// die('); - $config_string = str_replace('your.mysqlhost.com', 'localhost'); - $config_string = str_replace('mysqlusername' , getenv('USER')); - $config_string = str_replace('mysqlpassword' , getenv('PASS')); - $config_string = str_replace('mysqldatabasename' , getenv('DB')); ++ $config_string = str_replace('die(', '// die(', $config_string); -- file_put_contents($config_file_path, $config_string); ++ file_put_contents($config_file_path, $config_string); ++ } } /** @@@ -58,7 -58,7 +56,7 @@@ protected function getConnection() { if (!dba::$connected) { -- dba::connect('localhost', getenv('USER'), getenv('PASS'), getenv('DB')); ++ dba::connect(getenv('MYSQL_HOST') . ':' . getenv('MYSQL_PORT'), getenv('MYSQL_USERNAME'), getenv('MYSQL_PASSWORD'), getenv('MYSQL_DATABASE')); if (dba::$connected) { $app = get_app();