From 88afc12c1300d5cb8ec0b3a404baf6aa018c6aa3 Mon Sep 17 00:00:00 2001 From: Shish Date: Mon, 27 Jan 2020 19:40:14 +0000 Subject: [PATCH] testing DSN from environment --- .github/workflows/tests.yml | 15 +++++++++++---- tests/bootstrap.php | 4 ++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 80940124..1323852a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -34,18 +34,15 @@ jobs: sudo -u postgres psql -c "SELECT set_config('log_statement', 'all', false);" -U postgres ; sudo -u postgres psql -c "CREATE USER shimmie WITH PASSWORD 'shimmie';" -U postgres ; sudo -u postgres psql -c "CREATE DATABASE shimmie WITH OWNER shimmie;" -U postgres ; - echo ' data/config/auto_install.conf.php ; fi if [[ "${{ matrix.database }}" == "mysql" ]]; then mysql --version ; mysql -e "SET GLOBAL general_log = 'ON';" -uroot -proot ; mysql -e "CREATE DATABASE shimmie;" -uroot -proot ; - echo ' data/config/auto_install.conf.php ; fi if [[ "${{ matrix.database }}" == "sqlite" ]]; then sudo apt-get install -y sqlite3 ; sqlite3 --version ; - echo ' data/config/auto_install.conf.php ; fi - name: Check versions @@ -61,7 +58,17 @@ jobs: run: php index.php - name: Run test suite - run: vendor/bin/phpunit --configuration tests/phpunit.xml --coverage-clover=data/coverage.clover + run: | + if [[ "${{ matrix.database }}" == "pgsql" ]]; then + export DSN="pgsql:user=shimmie;password=shimmie;host=127.0.0.1;dbname=shimmie" + fi + if [[ "${{ matrix.database }}" == "mysql" ]]; then + export DSN="mysql:user=root;password=root;host=127.0.0.1;dbname=shimmie" + fi + if [[ "${{ matrix.database }}" == "sqlite" ]]; then + export DSN="sqlite:data/shimmie.sqlite" + fi + vendor/bin/phpunit --configuration tests/phpunit.xml --coverage-clover=data/coverage.clover - name: Upload coverage run: | diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 8ba3b374..d1de5021 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -12,8 +12,8 @@ global $cache, $config, $database, $user, $page, $_tracer; _sanitise_environment(); _load_core_files(); $cache = new Cache(CACHE_DSN); -$id = bin2hex(random_bytes(5)); -$database = new Database("sqlite:data/shimmie.test.$id.sqlite"); +$dsn = getenv("DSN"); +$database = new Database($dsn ? $dsn : "sqlite::memory:"); create_dirs(); create_tables($database); $config = new DatabaseConfig($database);