mirror of
https://github.com/ankitects/anki.git
synced 2026-05-16 16:10:52 -04:00
43 lines
1.1 KiB
Bash
Executable File
43 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
target="$1"
|
|
html="$2"
|
|
|
|
case "$target" in
|
|
pylib)
|
|
pythonpath="out/pylib"
|
|
source="pylib/anki"
|
|
outdir="out/coverage/python-pylib"
|
|
tests="pylib/tests"
|
|
threshold=65
|
|
;;
|
|
qt)
|
|
pythonpath="pylib:out/pylib:out/qt"
|
|
source="qt/aqt"
|
|
outdir="out/coverage/python-qt"
|
|
tests="qt/tests"
|
|
threshold=20
|
|
;;
|
|
*)
|
|
echo "Usage: $0 [pylib|qt] [--html]"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
mkdir -p "$outdir"
|
|
PYTHONPATH="$pythonpath" ANKI_TEST_MODE=1 out/pyenv/bin/python -m coverage run \
|
|
--source="$source" --data-file="$outdir/.coverage" \
|
|
-m pytest -p no:cacheprovider "$tests"
|
|
out/pyenv/bin/python -m coverage json \
|
|
--data-file="$outdir/.coverage" -o "$outdir/coverage-summary.json"
|
|
out/pyenv/bin/python -m coverage report \
|
|
--data-file="$outdir/.coverage" --fail-under="$threshold"
|
|
|
|
if [ "$html" = "--html" ]; then
|
|
out/pyenv/bin/python -m coverage html \
|
|
--data-file="$outdir/.coverage" -d "$outdir/html" --fail-under="$threshold"
|
|
echo "Python $target coverage report: $outdir/html/index.html"
|
|
fi
|