#!/usr/bin/env bash
# Make sure we're not using gos' Testing package any more in integration-cli

export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source "${SCRIPTDIR}/.validate"

IFS=$'\n'
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'integration-cli/*.go' || true) )
unset IFS

badFiles=()
for f in "${files[@]}"; do
	# skip check_test.go since it *does* use the testing package
	if [ "$f" = "integration-cli/check_test.go" ]; then
		continue
	fi

	# we use "git show" here to validate that what's committed doesn't contain golang built-in testing
	if git show "$VALIDATE_HEAD:$f" | grep -q testing.T; then
		if [ "$(echo $f | grep '_test')" ]; then
			# allow testing.T for non- _test files
			badFiles+=( "$f" )
		fi
	fi
done

if [ ${#badFiles[@]} -eq 0 ]; then
	echo 'Congratulations!  No testing.T found.'
else
	{
		echo "These files use the wrong testing infrastructure:"
		for f in "${badFiles[@]}"; do
			echo " - $f"
		done
		echo
	} >&2
	false
fi
