mirror of
https://github.com/azaion/detections.git
synced 2026-04-22 22:16:31 +00:00
38 lines
1.2 KiB
Bash
Executable File
38 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
COMPOSE="docker compose -f docker-compose.test.yml --profile cpu"
|
|
|
|
usage() {
|
|
echo "Usage: $0 <test_path> [pytest_args...]"
|
|
echo ""
|
|
echo "Examples:"
|
|
echo " $0 tests/test_video.py # run all tests in file"
|
|
echo " $0 tests/test_video.py::test_ft_p_10_frame_sampling_ac1 # run single test"
|
|
echo " $0 tests/test_video.py -k 'frame_sampling' # run by keyword"
|
|
echo ""
|
|
echo "Flags -v -x -s are always included."
|
|
exit 1
|
|
}
|
|
|
|
[[ $# -lt 1 ]] && usage
|
|
|
|
$COMPOSE up -d --build detections
|
|
echo "--- Waiting for detections service to become healthy..."
|
|
for i in $(seq 1 60); do
|
|
if $COMPOSE exec -T detections python3 -c "import urllib.request; urllib.request.urlopen('http://localhost:8080/health')" 2>/dev/null; then
|
|
echo "--- Detections service is healthy"
|
|
break
|
|
fi
|
|
sleep 2
|
|
done
|
|
|
|
echo "--- Running: pytest $* -v -x -s --csv=/results/report.csv"
|
|
$COMPOSE run --rm --no-deps e2e-runner pytest "$@" -v -x -s --csv=/results/report.csv
|
|
EXIT_CODE=$?
|
|
|
|
echo "--- Test finished with exit code $EXIT_CODE"
|
|
echo "--- Detections logs (last 100 lines):"
|
|
$COMPOSE logs detections --tail 100
|
|
exit $EXIT_CODE
|