#!/bin/bash
set -e

typeset -i fail='0'
typeset -i total='0'

for keyring in 'x2go-maintainers-keyring.gpg' 'x2go-maintainers-removed-keys.gpg' 'x2go-archive-keyring.gpg' 'x2go-archive-removed-keys.gpg'; do
  if [ ! -e "keyrings/${keyring}" ]; then
    echo "** ${keyring} does not exist, cannot run test suite" >&2
    exit '1'
  fi
done

export GNUPGHOME=''
GNUPGHOME="$(mktemp -d --tmpdir="${PWD}" 'gpghomedir.XXXXXXXXXXXXXXXX')"
trap 'rm -rf -- "${GNUPGHOME}"' ERR EXIT SIGTERM SIGINT SIGHUP SIGPIPE SIGALRM SIGUSR1 SIGUSR2
chmod 700 "${GNUPGHOME}"

for t in t/*.t; do
  total="$((total + 1))"
  if ! "${t}"; then
    echo "test ${t} failed" >&2
    fail="$((fail + 1))"
  fi
done

rm -r "${GNUPGHOME}"

if [ "${fail}" -gt '0' ]; then
  echo "** failed ${fail}/${total} tests" >&2
else
  echo "** all tests succeeded"
fi

exit "${fail}"
