diff --git a/ci/testctl b/ci/testctl index c55d7be7..aead0cf4 100755 --- a/ci/testctl +++ b/ci/testctl @@ -1,95 +1,104 @@ #!/bin/bash base_dir="$(dirname $(realpath "$0"))" pushd "${base_dir}" set -e +kolab__teardown() { + docker kill kolab-tests || : + docker rm kolab-tests || : + pushd .. + docker compose down + docker volume rm kolab_mariadb || : + docker volume rm kolab_imap || : + popd +} + kolab__build() { pushd .. docker compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.build.yml build mariadb redis swoole webapp imap tests roundcube minio popd } kolab__setup() { - docker kill kolab-tests || : - docker rm kolab-tests || : + kolab__teardown pushd .. - docker compose down - docker volume rm kolab_mariadb || : - docker volume rm kolab_imap || : bin/configure.sh config.demo + popd + echo "Build" + kolab__build + echo "Setup" # Starting the webapp container will trigger a migration # Maybe just delete the mariadb contianer # We need webapp for the services backend, minio for files, roundcube to initialize the roundcube db + pushd .. docker compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.build.yml up -d --wait mariadb redis imap minio roundcube webapp popd } # "testsuite" # "quicktest" # "tests/Feature/Jobs/WalletCheckTest.php" kolab__test() { docker kill kolab-tests || : docker rm kolab-tests || : docker run --network=kolab_kolab -v ${PWD}/../src:/src/kolabsrc.orig --name kolab-tests -t kolab-tests /init.sh $@ } kolab__testrun() { - echo "Build" - kolab__build echo "Setup" kolab__setup echo "Test" kolab__test testsuite } kolab__shell() { docker kill kolab-tests || : ; \ docker rm kolab-tests || : ; \ docker run --network=kolab_kolab -v ${PWD}/../src:/src/kolabsrc.orig --name kolab-tests -ti kolab-tests /init.sh shell } kolab__rctest() { docker kill roundcube-tests || : docker rm roundcube-tests || : pushd .. docker compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.test.yml run --name roundcube-tests -ti roundcube ./init.sh $@ popd } kolab__rcshell() { docker kill roundcube-tests || : docker rm roundcube-tests || : pushd .. docker compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.test.yml run --name roundcube-tests -ti roundcube ./init.sh shell popd } kolab__help() { cat </dev/null 2>&1; then "kolab__$cmdname" "${@:1}" else echo "Function $cmdname not recognized" >&2 kolab__help exit 1 fi