From 7b7e571e93144defbe977d51784c488fcd2f4c7e Mon Sep 17 00:00:00 2001 From: Kevin Morris Date: Fri, 15 Oct 2021 20:16:38 -0700 Subject: [PATCH] change(FastAPI): run test_initdb.py ahead of time in docker In some cases, when tests fail through Docker, the database ends up in an invalid state. This causes subsequent runs to error out with non-sensical DB errors. The `test_initdb.py` test suite runs tests which setup every modifiable table in the database, so let's just run it first here to avoid any invalid test DB state. Signed-off-by: Kevin Morris --- docker/scripts/run-pytests.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docker/scripts/run-pytests.sh b/docker/scripts/run-pytests.sh index ef8a2318..d992bf06 100755 --- a/docker/scripts/run-pytests.sh +++ b/docker/scripts/run-pytests.sh @@ -26,6 +26,11 @@ done python -m aurweb.initdb 2>/dev/null || \ (echo "Error: aurweb.initdb failed; already initialized?" && /bin/true) +# Run test_initdb ahead of time, which clears out the database, +# in case of previous failures which stopped the test suite before +# finishing the ends of some test fixtures. +eatmydata -- pytest test/test_initdb.py + # Run pytest with optional targets in front of it. eatmydata -- make -C test "${PARAMS[@]}" pytest