From e113e09c9ce2ab34aa9a253a4868b06d68f08cb0 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Tue, 30 Jul 2019 15:51:18 +0300 Subject: [PATCH] Fix #17459. Use MySQL docker container for testing (#17476) --- .travis.yml | 12 +++++------- tests/data/config.php | 4 ++-- tests/data/travis/mysql-setup.sh | 9 +++++++++ 3 files changed, 16 insertions(+), 9 deletions(-) create mode 100644 tests/data/travis/mysql-setup.sh diff --git a/.travis.yml b/.travis.yml index 6dcee6c..03ff050 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,6 @@ env: services: - memcached - - mysql - postgresql - docker @@ -111,8 +110,6 @@ matrix: services: allow_failures: - - php: "5.4" - - php: "5.5" - php: nightly - php: hhvm-3.21 - php: hhvm-3.24 @@ -135,6 +132,7 @@ install: tests/data/travis/apc-setup.sh tests/data/travis/memcache-setup.sh tests/data/travis/imagick-setup.sh + source tests/data/travis/mysql-setup.sh source tests/data/travis/mssql-setup.sh fi @@ -181,10 +179,10 @@ before_script: # initialize databases - | if [ $TASK_TESTS_PHP == 1 ]; then - travis_retry mysql -e 'CREATE DATABASE `yiitest`;'; - mysql -e "SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';"; - mysql -e "CREATE USER 'travis'@'localhost' IDENTIFIED WITH mysql_native_password;"; - mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'travis'@'localhost' WITH GRANT OPTION;"; + travis_retry mysql -h 127.0.0.1 -u root -proot -e 'CREATE DATABASE `yiitest`;'; + mysql -h 127.0.0.1 -u root -proot -e "SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';"; + mysql -h 127.0.0.1 -u root -proot -e "CREATE USER 'travis'@'localhost' IDENTIFIED WITH mysql_native_password;"; + mysql -h 127.0.0.1 -u root -proot -e "GRANT ALL PRIVILEGES ON *.* TO 'travis'@'localhost' WITH GRANT OPTION;"; psql -U postgres -c 'CREATE DATABASE yiitest;'; fi diff --git a/tests/data/config.php b/tests/data/config.php index a4c6a93..5feb3e8 100644 --- a/tests/data/config.php +++ b/tests/data/config.php @@ -28,8 +28,8 @@ $config = [ ], 'mysql' => [ 'dsn' => 'mysql:host=127.0.0.1;dbname=yiitest', - 'username' => 'travis', - 'password' => '', + 'username' => 'root', + 'password' => 'root', 'fixture' => __DIR__ . '/mysql.sql', ], 'sqlite' => [ diff --git a/tests/data/travis/mysql-setup.sh b/tests/data/travis/mysql-setup.sh new file mode 100644 index 0000000..b563aea --- /dev/null +++ b/tests/data/travis/mysql-setup.sh @@ -0,0 +1,9 @@ +#!/bin/sh -e + +sudo service mysql stop + +docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 + +while ! mysqladmin ping -h 127.0.0.1 --silent; do + sleep 1 +done