diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2f70582f..449146c9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,9 +71,5 @@ jobs: restore-keys: | ${{ runner.os }}-php-${{ matrix.php-version }}- - - name: Install dependencies - if: steps.composer-cache.outputs.cache-hit != 'true' - run: composer install --prefer-dist --no-progress --no-suggest - - name: Run tests with phpunit - run: ./phpunit.sh + run: ./run-tests.sh diff --git a/docker-compose.yml b/docker-compose.yml index 86a45378..d46608bf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,7 @@ services: volumes: - .:/app working_dir: /app - entrypoint: sh ./utilities/testrunners/run-test.sh + entrypoint: sh ./run-tests.sh php71: extends: service: base diff --git a/run-tests-for-all-php-versions.sh b/run-tests-for-all-php-versions.sh new file mode 100755 index 00000000..6ecd9afb --- /dev/null +++ b/run-tests-for-all-php-versions.sh @@ -0,0 +1,44 @@ +#!/bin/bash +Help() +{ + # Display Help + echo "Runs PHPUnit tests for all PHP versions supported by this version of Smarty." + echo + echo "Syntax: $0 [-e|h]" + echo "options:" + echo "e Exclude a group of unit tests, e.g. -e 'slow'" + echo "h Print this Help." + echo +} + +Exclude="" + +# Get the options +while getopts ":he:" option; do + case $option in + e) # Exclude + echo $OPTARG + Exclude=$OPTARG;; + h) # display Help + Help + exit;; + \?) # Invalid option + echo "Error: Invalid option" + exit;; + esac +done + +if [ -z $Exclude ]; +then + Entrypoint="./run-tests.sh" +else + Entrypoint="./run-tests.sh $Exclude" +fi + +# Runs tests for all supported PHP versions +docker-compose run --entrypoint "$Entrypoint" php71 && \ +docker-compose run --entrypoint "$Entrypoint" php72 && \ +docker-compose run --entrypoint "$Entrypoint" php73 && \ +docker-compose run --entrypoint "$Entrypoint" php74 && \ +docker-compose run --entrypoint "$Entrypoint" php80 && \ +docker-compose run --entrypoint "$Entrypoint" php81 diff --git a/run-tests.sh b/run-tests.sh new file mode 100755 index 00000000..ddcad01b --- /dev/null +++ b/run-tests.sh @@ -0,0 +1,13 @@ +#!/bin/sh +composer update + +php -r 'echo "\nPHP version " . phpversion() . ". ";'; + +if [ -z $1 ]; +then + echo "Running all unit tests.\n" + php ./vendor/phpunit/phpunit/phpunit +else + echo "Running all unit tests, except tests marked with @group $1.\n" + php ./vendor/phpunit/phpunit/phpunit --exclude-group $1 +fi \ No newline at end of file diff --git a/run_tests_for_all_php_versions.sh b/run_tests_for_all_php_versions.sh deleted file mode 100755 index b95166fc..00000000 --- a/run_tests_for_all_php_versions.sh +++ /dev/null @@ -1,7 +0,0 @@ -# Runs tests for all supported PHP versions -docker-compose run php71 && \ -docker-compose run php72 && \ -docker-compose run php73 && \ -docker-compose run php74 && \ -docker-compose run php80 && \ -docker-compose run php81 diff --git a/utilities/testrunners/run-test.sh b/utilities/testrunners/run-test.sh deleted file mode 100755 index cca96f5e..00000000 --- a/utilities/testrunners/run-test.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -composer update && php ./vendor/phpunit/phpunit/phpunit