mirror of
https://github.com/nsacyber/HIRS.git
synced 2024-12-25 07:31:11 +00:00
89 lines
2.0 KiB
Bash
89 lines
2.0 KiB
Bash
|
#!/bin/bash
|
||
|
# This script will run all the tests in rim/scrips directory. it will ignore specified files.
|
||
|
# counters that will provide information about the script status.
|
||
|
testsFailed=0
|
||
|
testsPassed=0
|
||
|
testsRan=0
|
||
|
# Capture location of this script to allow from invocation from any location
|
||
|
scriptDir=$(dirname -- "$(readlink -f -- "${BASH_SOURCE[0]}")")
|
||
|
# go to the script directory so everything runs smoothly ...
|
||
|
pushd $scriptDir > /dev/null
|
||
|
|
||
|
|
||
|
# adding the verbose option.
|
||
|
while [[ $# -gt 0 ]]; do
|
||
|
case $1 in
|
||
|
'-v'|'--verbose')
|
||
|
ARG_VERBOSE=YES
|
||
|
echo "verbose parameters"
|
||
|
shift # past argument
|
||
|
;;
|
||
|
'-*'|'--*')
|
||
|
echo "Unknown option $1"
|
||
|
exit 1
|
||
|
;;
|
||
|
*)
|
||
|
echo "Unknown argument $1"
|
||
|
exit 1
|
||
|
shift # past argument
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
#List of files in the scripts directory to ignore.
|
||
|
exclude=("run_all_tests.sh" "rim_functions.sh")
|
||
|
|
||
|
#loop through the test/rim/scripts directory
|
||
|
for script in *.sh; do
|
||
|
#ignoring specified (non test) files.
|
||
|
if [[ ! "${exclude[*]}" =~ $script ]]; then
|
||
|
((testsRan++))
|
||
|
echo ""
|
||
|
echo "----------------"
|
||
|
echo "RUNNING $script"
|
||
|
|
||
|
if [ -n "$ARG_VERBOSE" ]; then
|
||
|
./"$script"
|
||
|
else
|
||
|
./"$script" >/dev/null
|
||
|
fi
|
||
|
|
||
|
#checking the exit stats of the script (test).
|
||
|
if [ $? -eq 0 ];then
|
||
|
if [ -z "$ARG_VERBOSE" ]; then
|
||
|
echo "PASSED $script"
|
||
|
fi
|
||
|
echo "----------------"
|
||
|
((testsPassed++))
|
||
|
else
|
||
|
if [ -z "$ARG_VERBOSE" ]; then
|
||
|
echo -e "\033[31mFAILED $script\033[0m"
|
||
|
fi
|
||
|
echo "----------------"
|
||
|
((testsFailed++))
|
||
|
fi
|
||
|
else
|
||
|
echo ""
|
||
|
echo "----------------"
|
||
|
echo "skipping $script"
|
||
|
echo "----------------"
|
||
|
fi
|
||
|
|
||
|
done
|
||
|
|
||
|
#return to whatever directory you started at
|
||
|
popd > /dev/null
|
||
|
|
||
|
#test results
|
||
|
echo ""
|
||
|
echo "**** Test Results *****"
|
||
|
echo "Number of tests ran = $testsRan"
|
||
|
echo "Number of tests passed = $testsPassed"
|
||
|
echo "Number of tests failed = $testsFailed"
|
||
|
|
||
|
#tests status
|
||
|
if [ "$testsFailed" -eq 0 ]; then
|
||
|
exit 0
|
||
|
else
|
||
|
exit 1
|
||
|
fi
|