Skip to content

Commit dff0a11

Browse files
yvanzoamCap1712
authored andcommitted
Improve test script
Following the model of `docker/push.sh`: - Document expected behavior and usage with heading comments - Exit on error, for example if the first Docker Compose command failed - Support running from any working directory (using `cd`) - Support any Docker Compose setup and version: * Run `docker-compose` by default assuming v1 and `docker` group * Support `docker compose` for Docker Compose v2 * Support `sudo ...` if needed
1 parent ce8bf44 commit dff0a11

1 file changed

Lines changed: 20 additions & 4 deletions

File tree

test.sh

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
1-
docker-compose -f docker/docker-compose.test.yml -p sir-test up -d musicbrainz_db
2-
docker-compose -f docker/docker-compose.test.yml -p sir-test build
3-
docker-compose -f docker/docker-compose.test.yml -p sir-test run test \
1+
#!/usr/bin/env bash
2+
#
3+
# Run tests and return 0 if these passed successfully.
4+
#
5+
# Usage:
6+
# ./test.sh
7+
# Or:
8+
# DOCKER_COMPOSE_CMD='sudo docker-compose' ./test.sh
9+
10+
set -o errexit -o nounset
11+
12+
cd "$(dirname "${BASH_SOURCE[0]}")/"
13+
14+
DOCKER_COMPOSE_CMD=${DOCKER_COMPOSE_CMD:-docker-compose}
15+
16+
$DOCKER_COMPOSE_CMD -f docker/docker-compose.test.yml -p sir-test up -d musicbrainz_db
17+
$DOCKER_COMPOSE_CMD -f docker/docker-compose.test.yml -p sir-test build
18+
set +o errexit
19+
$DOCKER_COMPOSE_CMD -f docker/docker-compose.test.yml -p sir-test run test \
420
dockerize -wait tcp://musicbrainz_db:5432 -timeout 600s \
521
bash -c "py.test --junitxml=/data/test_report.xml \
622
--cov=sir \
723
--cov-report xml:/data/coverage.xml \
824
--cov-report html:/data/coverage-html \
925
$*"
1026
RET=$?
11-
docker-compose -f docker/docker-compose.test.yml -p sir-test down
27+
$DOCKER_COMPOSE_CMD -f docker/docker-compose.test.yml -p sir-test down
1228
exit $RET

0 commit comments

Comments
 (0)