#!/usr/bin/env bash

# A test runner file.
# Intended to be run from `./run-tests` script *within* a virtual machine.
# DO NOT run it locally as it might overwrite your `.tmux.conf` (that's what it
# does during the tests).

CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

# running test suite is successful by default
tests_exit_value=0

set_global_exit_val_to_false() {
	tests_exit_value=1
}

test_files() {
	ls -1 "$CURRENT_DIR" |      # test files are in the current dir
		grep -i '^test' |       # test file names start with 'test'
		xargs                   # file names in one line
}

run_tests() {
	local test_file
	for test_file in $(test_files); do
		echo "Running test: $test_file"
		$CURRENT_DIR/$test_file

		# handling exit value
		local exit_value="$?"
		if [ "$exit_value" != 0 ]; then
			set_global_exit_val_to_false
		fi
	done
}

main() {
	run_tests
	exit "$tests_exit_value"
}
main