diff --git a/docker/test.sh b/docker/test.sh
index e4db5ac024fab3be6ece35f8c9d96695ec4f5d22..e0a847e337b4ceb03ba48efa45853458a0f5bdc2 100755
--- a/docker/test.sh
+++ b/docker/test.sh
@@ -3,5 +3,14 @@
 TESTSUITE_IMAGE="registry.git.autistici.org/noblogs/testsuite:main"
 
 # Run the test suite using Podman, in the foreground.
-exec podman run --rm --pull=always --env TARGET_ADDR=${TARGET_ADDR} --network=host ${TESTSUITE_IMAGE}
+podman run --rm --pull=always --env TARGET_ADDR=${TARGET_ADDR} --network=host ${TESTSUITE_IMAGE}
+rc=$?
+
+# Convert into permanent error.
+if [ $rc -gt 0 ]; then
+    echo "test suite exited with status $rc" >&2
+    exit 2
+fi
+
+exit 0