-
-
Notifications
You must be signed in to change notification settings - Fork 115
/
Copy pathcoverage.sh
executable file
·39 lines (32 loc) · 984 Bytes
/
coverage.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
#
# Run coverage tests and report
#
set -o errtrace
set -o nounset
# This script passes all arguments to Coverage Tests. For example, it can be
# called from the cc-legal-tools-app directory like so:
#
# ./dev/coverage.sh --failfast
# Change directory to cc-legal-tools-app (grandparent directory of this script)
cd ${0%/*}/../
if ! docker compose exec app true 2>/dev/null; then
echo 'The app container/services is not avaialable.' 1>&2
echo 'First run `docker compose up`.' 1>&2
exit 1
fi
printf "\e[1m\e[7m %-80s\e[0m\n" 'Coverage Erase'
docker compose exec app coverage erase
echo 'done.'
echo
printf "\e[1m\e[7m %-80s\e[0m\n" 'Coverage Tests'
docker compose exec app coverage run \
manage.py test --noinput --parallel 4 ${@:-} \
|| exit
echo
printf "\e[1m\e[7m %-80s\e[0m\n" 'Coverage Combine'
docker compose exec app coverage combine
echo
printf "\e[1m\e[7m %-80s\e[0m\n" 'Coverage Report'
docker compose exec app coverage report
echo