diff --git a/ci/Makefile b/ci/Makefile index 5cc4d2a7..f027dd42 100644 --- a/ci/Makefile +++ b/ci/Makefile @@ -1,30 +1,40 @@ PWD=$(shell pwd) configure: cd .. ; \ bin/configure.sh config.demo ; setup: cd .. && bin/quickstart.sh --nodev build: cd .. && DOCKER_BUILDKIT=0 docker compose -f docker-compose.yml -f docker-compose.build.yml build swoole && DOCKER_BUILDKIT=0 docker compose -f docker-compose.yml -f docker-compose.build.yml build tests && cd ci lint: docker kill kolab-tests || : ; \ docker rm kolab-tests || : ; \ docker run -v ${PWD}/../:/src/kolab.orig -t kolab-tests /lint.sh test: docker kill kolab-tests || : ; \ docker rm kolab-tests || : ; \ docker run --network=kolab_kolab -v ${PWD}/../src:/src/kolabsrc.orig -t kolab-tests /init.sh testsuite +quicktest: + docker kill kolab-tests || : ; \ + docker rm kolab-tests || : ; \ + docker run --network=kolab_kolab -v ${PWD}/../src:/src/kolabsrc.orig -t kolab-tests /init.sh quicktest + +browser: + docker kill kolab-tests || : ; \ + docker rm kolab-tests || : ; \ + docker run --network=kolab_kolab -v ${PWD}/../src:/src/kolabsrc.orig -t kolab-tests /init.sh suite-Browser + shell: docker kill kolab-tests || : ; \ docker rm kolab-tests || : ; \ docker run --network=kolab_kolab -v ${PWD}/../src:/src/kolabsrc.orig -ti kolab-tests /init.sh shell all: configure build setup lint test diff --git a/docker/tests/init.sh b/docker/tests/init.sh index d93e8814..65a92ebb 100755 --- a/docker/tests/init.sh +++ b/docker/tests/init.sh @@ -1,82 +1,137 @@ #!/bin/bash #set -e rsync -av \ --exclude=vendor \ --exclude=composer.lock \ --exclude=node_modules \ --exclude=package-lock.json \ --exclude=public \ --exclude=storage \ --exclude=resources/build \ --exclude=bootstrap \ --exclude=.gitignore \ /src/kolabsrc.orig/ /src/kolabsrc/ | tee /tmp/rsync.output cd /src/kolabsrc rm -rf storage/framework mkdir -p storage/framework/{sessions,views,cache} php -dmemory_limit=-1 $(command -v composer) update /usr/local/bin/npm install find bootstrap/cache/ -type f ! -name ".gitignore" -delete ./artisan clear-compiled ./artisan cache:clear ./artisan horizon:install if rpm -qv chromium 2>/dev/null; then chver=$(rpmquery --queryformat="%{VERSION}" chromium | awk -F'.' '{print $1}') ./artisan dusk:chrome-driver ${chver} fi if [ ! -f 'resources/countries.php' ]; then ./artisan data:countries fi npm run dev # /usr/bin/chromium-browser --no-sandbox --headless --disable-gpu --remote-debugging-port=9222 http://localhost & rm -rf database/database.sqlite ./artisan db:ping --wait php -dmemory_limit=512M ./artisan migrate --force if test "$( env APP_DEBUG=false ./artisan -n users | wc -l )" -lt "1"; then php -dmemory_limit=512M ./artisan db:seed fi ./artisan data:import || : ./artisan queue:work --stop-when-empty ./artisan octane:start --host=$(grep OCTANE_HTTP_HOST .env | tail -n1 | sed "s/OCTANE_HTTP_HOST=//") >/dev/null 2>&1 & + + +if [ "$1" == "suite-Functional" ]; then + php \ + -dmemory_limit=-1 \ + vendor/bin/phpunit \ + --exclude-group skipci \ + --verbose \ + --testsuite Unit + + php \ + -dmemory_limit=-1 \ + vendor/bin/phpunit \ + --exclude-group skipci \ + --verbose \ + --testsuite Functional +fi +if [ "$1" == "suite-Feature" ]; then + php \ + -dmemory_limit=-1 \ + vendor/bin/phpunit \ + --exclude-group skipci,coinbase,mollie,stripe,meet,dns \ + --verbose \ + --testsuite Feature +fi +if [ "$1" == "suite-Browser" ]; then + php \ + -dmemory_limit=-1 \ + vendor/bin/phpunit \ + --exclude-group skipci \ + --verbose \ + --testsuite Browser +fi if [ "$1" == "testsuite" ]; then + php \ + -dmemory_limit=-1 \ + vendor/bin/phpunit \ + --exclude-group skipci \ + --verbose \ + --testsuite Unit + + php \ + -dmemory_limit=-1 \ + vendor/bin/phpunit \ + --exclude-group skipci \ + --verbose \ + --testsuite Functional + + php \ + -dmemory_limit=-1 \ + vendor/bin/phpunit \ + --exclude-group skipci,coinbase,mollie,stripe,meet,dns \ + --verbose \ + --testsuite Feature +fi +if [ "$1" == "quicktest" ]; then php \ -dmemory_limit=-1 \ vendor/bin/phpunit \ --exclude-group skipci \ --verbose \ --stop-on-defect \ --stop-on-error \ --stop-on-failure \ --testsuite Unit php \ -dmemory_limit=-1 \ vendor/bin/phpunit \ --exclude-group skipci \ --verbose \ --stop-on-defect \ --stop-on-error \ --stop-on-failure \ --testsuite Functional php \ -dmemory_limit=-1 \ vendor/bin/phpunit \ --exclude-group skipci,coinbase,mollie,stripe,meet,dns \ --verbose \ --stop-on-defect \ --stop-on-error \ --stop-on-failure \ --testsuite Feature fi if [ "$1" == "shell" ]; then exec /bin/bash fi