docker/test: improve setup

`make test` now automatically forces a rebuild. Also passing `keepdb=true` runs
the test suite with `--keepdb` which is useful when repeatedly running tests.
pull/104/head
Christian Merten 11 months ago
parent 91ceaaf9f9
commit e02b0acefe
Signed by: christian.merten
GPG Key ID: D953D69721B948B3

@ -1,8 +1,12 @@
build-test: build-test:
cd docker/test; docker compose build cd docker/test; docker compose build
test: test: build-test
touch docker/test/coverage.xml mkdir -p docker/test/htmlcov
chmod 666 docker/test/coverage.xml chmod 777 docker/test/htmlcov
ifeq ($(keepdb), true)
cd docker/test; DJANGO_TEST_KEEPDB=1 docker compose up --abort-on-container-exit
else
cd docker/test; docker compose up --abort-on-container-exit cd docker/test; docker compose up --abort-on-container-exit
sed -i 's/\/app\/jdav_web/jdav_web/g' docker/test/coverage.xml endif
echo "Generated coverage report. To read it, point your browser to:\n\nfile://$$(pwd)/docker/test/htmlcov/index.html"

@ -7,6 +7,8 @@ services:
context: ./../../ context: ./../../
dockerfile: docker/test/Dockerfile dockerfile: docker/test/Dockerfile
env_file: docker.env env_file: docker.env
environment:
- DJANGO_TEST_KEEPDB=$DJANGO_TEST_KEEPDB
depends_on: depends_on:
- redis - redis
- cache - cache

@ -38,5 +38,9 @@ fi
cd jdav_web cd jdav_web
coverage run manage.py test startpage finance members contrib logindata mailer material -v 2 --noinput if [[ "$DJANGO_TEST_KEEPDB" == 1 ]]; then
coverage run manage.py test startpage finance members contrib logindata mailer material -v 2 --noinput --keepdb
else
coverage run manage.py test startpage finance members contrib logindata mailer material -v 2 --noinput
fi
coverage html coverage html

Loading…
Cancel
Save