mirror of
https://gitlab.com/manzerbredes/i3-colors.git
synced 2025-04-19 03:59:44 +00:00
Add simple integration test framework
This commit is contained in:
parent
6ba370ea54
commit
5ca2e63ea6
8 changed files with 1108 additions and 1 deletions
53
tests/run.sh
Executable file
53
tests/run.sh
Executable file
|
@ -0,0 +1,53 @@
|
|||
#!/bin/bash
|
||||
|
||||
wai=$(dirname $(readlink -f $0))
|
||||
out=$(mktemp)
|
||||
int=0
|
||||
|
||||
passed(){
|
||||
echo -e "$1 ===> \e[32mpassed :)\e[0m"
|
||||
}
|
||||
|
||||
fail(){
|
||||
echo -e "$1 ===> \e[5m\e[31mfail :(\e[0m"
|
||||
}
|
||||
|
||||
[ $# -gt 0 ] && [ $1 == "-b" ] && int=1
|
||||
|
||||
##### Run Integration Tests #####
|
||||
nb_pass=0
|
||||
nb_fail=0
|
||||
for test in $(find ${wai} -type f -name "test-*.sh")
|
||||
do
|
||||
test_name=$(basename $test)
|
||||
expectations="${test_name%.*}.out"
|
||||
bash $test > $out 2>&1
|
||||
log=$(diff -q "${out}" "${expectations}")
|
||||
|
||||
if [ ! -z "$log" ]
|
||||
then
|
||||
fail "${test_name}"
|
||||
nb_fail=$(( nb_fail + 1 ))
|
||||
|
||||
if [ $int -eq 1 ]
|
||||
then
|
||||
echo "========== Diff =========="
|
||||
diff "${out}" "${expectations}"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
nb_pass=$(( nb_test + 1 ))
|
||||
passed "${test_name}"
|
||||
fi
|
||||
done
|
||||
#################################
|
||||
|
||||
|
||||
echo -e "\n===== STATS ====="
|
||||
echo "${nb_pass} pass"
|
||||
echo "${nb_fail} fails"
|
||||
|
||||
##### Clear #####
|
||||
rm ${out}
|
||||
#################
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue