#!/bin/sh

set -eu

namespace=SDL2_image/

if [ -z "${HOME-}" ] || ! [ -w "${HOME}" ]; then
    export HOME="${AUTOPKGTEST_TMP}"
fi

export SDL_AUDIODRIVER=dummy
export SDL_VIDEODRIVER=dummy
cd "$AUTOPKGTEST_TMP"

# Assert that we support all the formats that we think we should support
export SDL_IMAGE_TEST_REQUIRE_LOAD_AVIF=0
export SDL_IMAGE_TEST_REQUIRE_LOAD_BMP=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_CUR=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_GIF=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_ICO=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_JPG=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_JXL=0
export SDL_IMAGE_TEST_REQUIRE_LOAD_LBM=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_PCX=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_PNG=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_PNM=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_QOI=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_SVG=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_TGA=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_TIF=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_WEBP=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_XPM=1
export SDL_IMAGE_TEST_REQUIRE_LOAD_XV=1

export SDL_IMAGE_TEST_REQUIRE_SAVE_JPG=1
export SDL_IMAGE_TEST_REQUIRE_SAVE_PNG=1

any=
failed=
n=0

for t in "/usr/share/installed-tests/$namespace"/*.test; do
    echo "Test-case: $t"
    n=$(( n + 1 ))
    any=yes
    exe="$(sed -ne 's/^Exec=//p' < "$t")"
    if sh -c "$exe" >&2; then
        echo "ok $n - $t"
    else
        echo "not ok $n - $t ($?)"
        failed=yes
    fi
done

if [ -z "$any" ]; then
    echo "Bail out! No tests found"
    exit 1
fi

echo "1..$n"

if [ -n "$failed" ]; then
    echo "# At least one test failed"
    exit 1
fi
