#!/bin/sh

set -e
set -u

TEST_DIRS="binutils parser"

SOURCE_DIR=$(pwd)

WORKDIR=$(mktemp -d)
# shellcheck disable=SC2064
trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM

cp -a common "$WORKDIR"/
cp -a libraries "$WORKDIR"/

for dir in $TEST_DIRS ; do
   mkdir -p "$WORKDIR/$(dirname "$dir")"
   cp -a "$SOURCE_DIR/$dir" "$WORKDIR/$dir"
   (
      cd "$WORKDIR/$dir"
      echo "Running tests in $WORKDIR/$dir"
      if [ ! -f Makefile ] ; then
	 if [ -x autogen.sh ] ; then
	     echo "No Makefile found in $WORKDIR/$dir, running ./autogen.sh"
	     ./autogen.sh
	 fi
      fi
      if [ ! -f Makefile ] ; then
	  echo "No Makefile found in $WORKDIR/$dir, aborting."
	  exit 1
      fi
      USE_SYSTEM=1 make tests V=1
   )
   rm -rf "${WORKDIR:?}/$dir"
done
