mirror of
https://github.com/shlinkio/shlink.git
synced 2024-11-26 23:18:37 +03:00
Improved run-api-tests.sh script to make it compatible with sh
This commit is contained in:
parent
df70810aa6
commit
bfbeb7b1fb
5 changed files with 25 additions and 22 deletions
1
.github/workflows/ci-tests.yml
vendored
1
.github/workflows/ci-tests.yml
vendored
|
@ -28,7 +28,6 @@ jobs:
|
|||
php-extensions: openswoole-4.11.1
|
||||
extensions-cache-key: tests-extensions-${{ matrix.php-version }}-${{ inputs.test-group }}
|
||||
- run: composer test:${{ inputs.test-group }}:ci
|
||||
shell: bash
|
||||
- uses: actions/upload-artifact@v3
|
||||
if: ${{ matrix.php-version == '8.1' }}
|
||||
with:
|
||||
|
|
1
.github/workflows/ci.yml
vendored
1
.github/workflows/ci.yml
vendored
|
@ -49,7 +49,6 @@ jobs:
|
|||
- run: composer install --no-interaction --prefer-dist
|
||||
- run: ./vendor/bin/rr get --location bin/ && chmod +x bin/rr
|
||||
- run: composer test:api:rr
|
||||
shell: bash
|
||||
|
||||
cli-tests:
|
||||
uses: './.github/workflows/ci-tests.yml'
|
||||
|
|
|
@ -12,26 +12,35 @@ mkdir data/log/api-tests
|
|||
touch $OUTPUT_LOGS
|
||||
|
||||
# Try to stop server just in case it hanged in last execution
|
||||
[[ $TEST_RUNTIME == 'openswoole' ]] && vendor/bin/laminas mezzio:swoole:stop
|
||||
[[ $TEST_RUNTIME == 'rr' ]] && bin/rr stop -f
|
||||
if test "$TEST_RUNTIME" == 'openswoole'; then
|
||||
vendor/bin/laminas mezzio:swoole:stop
|
||||
elif test "$TEST_RUNTIME" == 'rr'; then
|
||||
bin/rr stop -f
|
||||
fi
|
||||
|
||||
echo 'Starting server...'
|
||||
[[ $TEST_RUNTIME == 'openswoole' ]] && vendor/bin/laminas mezzio:swoole:start -d
|
||||
[[ $TEST_RUNTIME == 'rr' ]] && bin/rr serve -p -c=config/roadrunner/.rr.dev.yml \
|
||||
-o=http.address=0.0.0.0:9999 \
|
||||
-o=logs.encoding=json \
|
||||
-o=logs.channels.http.encoding=json \
|
||||
-o=logs.channels.server.encoding=json \
|
||||
-o=logs.output="${PWD}/${OUTPUT_LOGS}" \
|
||||
-o=logs.channels.http.output="${PWD}/${OUTPUT_LOGS}" \
|
||||
-o=logs.channels.server.output="${PWD}/${OUTPUT_LOGS}" &
|
||||
if test "$TEST_RUNTIME" == 'openswoole'; then
|
||||
vendor/bin/laminas mezzio:swoole:start -d
|
||||
elif test "$TEST_RUNTIME" == 'rr'; then
|
||||
bin/rr serve -p -c=config/roadrunner/.rr.dev.yml \
|
||||
-o=http.address=0.0.0.0:9999 \
|
||||
-o=logs.encoding=json \
|
||||
-o=logs.channels.http.encoding=json \
|
||||
-o=logs.channels.server.encoding=json \
|
||||
-o=logs.output="${PWD}/${OUTPUT_LOGS}" \
|
||||
-o=logs.channels.http.output="${PWD}/${OUTPUT_LOGS}" \
|
||||
-o=logs.channels.server.output="${PWD}/${OUTPUT_LOGS}" &
|
||||
fi
|
||||
sleep 2 # Let's give the server a couple of seconds to start
|
||||
|
||||
vendor/bin/phpunit --order-by=random -c phpunit-api.xml --testdox --colors=always --log-junit=build/coverage-api/junit.xml $*
|
||||
testsExitCode=$?
|
||||
|
||||
[[ $TEST_RUNTIME == 'openswoole' ]] && vendor/bin/laminas mezzio:swoole:stop
|
||||
[[ $TEST_RUNTIME == 'rr' ]] && bin/rr stop -c config/roadrunner/.rr.dev.yml -o=http.address=0.0.0.0:9999
|
||||
if test "$TEST_RUNTIME" == 'openswoole'; then
|
||||
vendor/bin/laminas mezzio:swoole:stop
|
||||
elif test "$TEST_RUNTIME" == 'rr'; then
|
||||
bin/rr stop -c config/roadrunner/.rr.dev.yml -o=http.address=0.0.0.0:9999
|
||||
fi
|
||||
|
||||
# Exit this script with the same code as the tests. If tests failed, this script has to fail
|
||||
exit $testsExitCode
|
||||
|
|
|
@ -17,8 +17,9 @@ use function Shlinkio\Shlink\Config\swooleIsInstalled;
|
|||
|
||||
use const PHP_SAPI;
|
||||
|
||||
$enableSwoole = PHP_SAPI === 'cli' && swooleIsInstalled();
|
||||
$isTestEnv = env('APP_ENV') === 'test';
|
||||
$isRR = env('RR_MODE') !== null;
|
||||
$enableSwoole = PHP_SAPI === 'cli' && ! $isRR && swooleIsInstalled();
|
||||
|
||||
return (new ConfigAggregator\ConfigAggregator([
|
||||
! $isTestEnv
|
||||
|
|
7
indocker
7
indocker
|
@ -5,9 +5,4 @@ if ! [[ $(docker ps | grep shlink) ]]; then
|
|||
docker-compose up -d
|
||||
fi
|
||||
|
||||
if [[ "$*" == *"test:api:rr"* ]]; then
|
||||
# API tests should be run inside the RoadRunner container when the test runtime is RoadRunner
|
||||
docker exec -it shlink_roadrunner /bin/sh -c "$*"
|
||||
else
|
||||
docker exec -it shlink_swoole /bin/sh -c "$*"
|
||||
fi
|
||||
docker exec -it shlink_swoole /bin/sh -c "$*"
|
||||
|
|
Loading…
Reference in a new issue