#!/bin/sh
# script/test: run the test suite. CGO dependencies (pkg-config, vips,
# libheif) come from nix-shell when not already available (e.g. inside
# a Docker build or an existing nix-shell).
set -eu

ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"

run_with_cgo_deps() {
    if command -v pkg-config >/dev/null 2>&1; then
        sh -c "$1"
    else
        nix-shell -p pkg-config vips libheif golangci-lint git --run "$1"
    fi
}

main() {
    cd "$ROOT"
    echo "Running tests..."
    run_with_cgo_deps "CGO_ENABLED=1 go test -timeout 30s -v ./..."
}

main "$@"
