#!/bin/sh

set -e

CFLAGS="-O2 -Wall $(pkg-config --cflags cfitsio)"
LDFLAGS=$(pkg-config --libs cfitsio)

cp grparser.h simplerng.h tests/*.c tests/*.h $AUTOPKGTEST_TMP
cd $AUTOPKGTEST_TMP

failed=0

for tfile in *.c; do
  tname=${tfile%.c}

  cc $CFLAGS -o "$tname.o" -c "$tfile" 2>&1
  cc -o "$tname" "$tname.o" $LDFLAGS 2>&1
  echo "build $tname: OK"

  if "./$tname"; then
    echo "run $tname: OK"
  else
    status=$?

    case $status in
      77)
        echo "run $tname: SKIPPED (exit code 77)"
        ;;
      *)
        echo "run $tname: FAILED (exit code $status)"
        failed=1
        ;;
    esac
  fi
done

exit "$failed"
