tpm/tests/run-tests-within-vm

42 lines
919 B
Bash
Executable File

#!/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