diff --git a/test/run-integration-tests.sh b/test/run-integration-tests.sh index 833f6093aae..e1c0c0ae9c0 100755 --- a/test/run-integration-tests.sh +++ b/test/run-integration-tests.sh @@ -118,14 +118,12 @@ if [[ ${#ARGS[@]} -ne 0 ]]; then RESULTS["$test"]="$result" TIMES["$test"]="$SECONDS" - [[ "$result" -ne 0 ]] && FAILURES=$((FAILURES + 1)) - done -fi - -# Run clean-again, if requested, and if no tests failed -if [[ $FAILURES -eq 0 && $CLEAN_AGAIN -eq 1 ]]; then - for test in "${!RESULTS[@]}"; do - test_run "$test" make -C "$test" clean-again + # Run clean-again here to free up space, if requested, and if the test succeeded + if [[ "$result" -ne 0 ]]; then + FAILURES=$((FAILURES + 1)) + elif [[ $CLEAN_AGAIN -eq 1 ]]; then + test_run "$test" make -C "$test" clean-again + fi done fi diff --git a/test/test-functions b/test/test-functions index b99580bfd84..0c0ffa1545e 100644 --- a/test/test-functions +++ b/test/test-functions @@ -3338,6 +3338,13 @@ test_cleanup_again() { [ -n "$TESTDIR" ] || return rm -rf "$TESTDIR/unprivileged-nspawn-root" [[ -n "$initdir" ]] && _umount_dir "$initdir" + # Test specific images are not reused, so delete them or we run out of disk space + if [[ -n "$IMAGE_PUBLIC" ]] && [ "$(basename "$IMAGE_PUBLIC")" != "default.img" ]; then + rm -vf "$IMAGE_PUBLIC" + fi + if [[ -n "$IMAGE_PRIVATE" ]] && [ "$(basename "$IMAGE_PRIVATE")" != "default.img" ]; then + rm -vf "$IMAGE_PRIVATE" + fi } test_create_image() {