#!/usr/bin/env bash

set -eu -o pipefail

# tests must be executed outside of the ansible source tree
# otherwise ansible-test will test the ansible source instead of the test collection
# the temporary directory provided by ansible-test resides within the ansible source tree
tmp_dir=$(mktemp -d)

trap 'rm -rf "${tmp_dir}"' EXIT

export TEST_DIR
export WORK_DIR

TEST_DIR="$PWD"

for test in collection-tests/*.sh; do
  WORK_DIR="${tmp_dir}/$(basename "${test}" ".sh")"
  mkdir "${WORK_DIR}"
  echo "**********************************************************************"
  echo "TEST: ${test}: STARTING"
  "${test}" "${@}" || (echo "TEST: ${test}: FAILED" && exit 1)
  echo "TEST: ${test}: PASSED"
done