ngx-fancyindex/t/run

68 lines
1.3 KiB
Plaintext
Raw Normal View History

2016-08-17 09:39:40 +00:00
#! /bin/bash
set -e
if [[ $# -lt 1 || $# -gt 2 ]] ; then
echo "Usage: $0 <prefix-path> [1]" 1>&2
exit 1
fi
# Obtain the absolute path to the tests directory
pushd "$(dirname "$0")" &> /dev/null
readonly T=$(pwd)
popd &> /dev/null
2016-08-17 09:39:40 +00:00
export T
# Same for the nginx prefix directory
pushd "$1" &> /dev/null
readonly prefix=$(pwd)
popd &> /dev/null
2016-08-17 09:39:40 +00:00
dynamic=false
if [[ $# -gt 1 && $2 -eq 1 ]] ; then
dynamic=true
fi
readonly dynamic
declare -a t_pass=( )
declare -a t_fail=( )
for t in "$T"/*.test ; do
name="t/${t##*/}"
name=${name%.test}
printf "${name} ... "
errfile="${name}.err"
outfile="${name}.out"
shfile="${name}.sh"
cat > "${shfile}" <<-EOF
readonly DYNAMIC=${dynamic}
readonly TESTDIR='$T'
readonly PREFIX='${prefix}'
2016-08-17 10:35:49 +00:00
$(< "$T/preamble")
2016-08-17 09:39:40 +00:00
$(< "$t")
EOF
if bash -e "${shfile}" > "${outfile}" 2> "${errfile}" ; then
t_pass+=( "${name}" )
printf 'passed\n'
else
t_fail+=( "${name}" )
printf 'failed\n'
fi
done
for name in "${t_fail[@]}" ; do
echo
printf '=== %s.out\n' "${name}"
2016-08-17 09:39:40 +00:00
cat "${name}.out"
echo
printf '=== %s.err\n' "${name}"
2016-08-17 09:39:40 +00:00
cat "${name}.err"
echo
2016-08-17 09:39:40 +00:00
done
printf '=== passed/failed/total: %d/%d/%d\n' \
2016-08-17 09:39:40 +00:00
${#t_pass[@]} ${#t_fail[@]} $(( ${#t_pass[@]} + ${#t_fail[@]} ))
if [[ ${#t_fail[@]} -gt 0 ]] ; then
exit 1
fi