. ${builddir}/conf.sh
if [ "$(id -u)" -eq "0" ] && [ "@DEVELOPER_MODE@" != "yes" ]; then
- echofail "Refusing to run test as root. Build with --enable-developer to override." >&2
- exit 1
+ echofail "Refusing to run test as root. Build with --enable-developer to override." >&2
+ exit 1
fi
export builddir
baseport=0
if [ "${SYSTEMTEST_NO_CLEAN:-0}" -eq 1 ]; then
- clean=false
+ clean=false
else
- clean=true
+ clean=true
fi
do_run=false
log_flags="-r"
while getopts "sknp:r-:" OPT; do
- log_flags="$log_flags -$OPT$OPTARG"
- if [ "$OPT" = "-" ] && [ -n "$OPTARG" ]; then
- OPT="${OPTARG%%=*}"
- OPTARG="${OPTARG#$OPT}"
- OPTARG="${OPTARG#=}"
- fi
-
- # shellcheck disable=SC2214
- case "$OPT" in
- k | keep) stopservers=false ;;
- n | noclean) clean=false ;;
- p | port) baseport=$OPTARG ;;
- r | run) do_run=true ;;
- s | skip) exit 77 ;;
- -) break ;;
- *) echo "invalid option" >&2; exit 1 ;;
- esac
+ log_flags="$log_flags -$OPT$OPTARG"
+ if [ "$OPT" = "-" ] && [ -n "$OPTARG" ]; then
+ OPT="${OPTARG%%=*}"
+ OPTARG="${OPTARG#$OPT}"
+ OPTARG="${OPTARG#=}"
+ fi
+
+ # shellcheck disable=SC2214
+ case "$OPT" in
+ k | keep) stopservers=false ;;
+ n | noclean) clean=false ;;
+ p | port) baseport=$OPTARG ;;
+ r | run) do_run=true ;;
+ s | skip) exit 77 ;;
+ -) break ;;
+ *) echo "invalid option" >&2; exit 1 ;;
+ esac
done
shift $((OPTIND-1))
if ! $do_run; then
if [ "$baseport" -eq 0 ]; then
- log_flags="$log_flags -p 5300"
+ log_flags="$log_flags -p 5300"
fi
env - SLOT="$SLOT" SOFTHSM2_CONF="$SOFTHSM2_CONF" PATH="$PATH" ${LD_LIBRARY_PATH:+"LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"} TESTS="$*" TEST_SUITE_LOG=run.log LOG_DRIVER_FLAGS="--verbose yes --color-tests yes" LOG_FLAGS="$log_flags" make -e check
exit $?
fi
if [ $# -eq 0 ]; then
- echofail "Usage: $0 [-k] [-n] [-p <PORT>] test-directory [test-options]" >&2;
- exit 1
+ echofail "Usage: $0 [-k] [-n] [-p <PORT>] test-directory [test-options]" >&2;
+ exit 1
fi
systest=$(basename "${1%%/}")
if [ "${srcdir}" != "${builddir}" ]; then
if [ ! -d common ] || [ ! -r common/.prepared ]; then
- cp -a "${srcdir}/common" "${builddir}"
+ cp -a "${srcdir}/common" "${builddir}"
fi
# Some tests require additional files to work for out-of-tree test runs.
for file in ckdnsrps.sh digcomp.pl ditch.pl packet.pl start.pl stop.pl; do
fi
done
if [ ! -d "$systest" ] || [ ! -r "$systest/.prepared" ]; then
- mkdir -p "${builddir}/$systest"
- cp -a "${srcdir}/$systest" "${builddir}/"
- touch "$systest/.prepared"
+ mkdir -p "${builddir}/$systest"
+ cp -a "${srcdir}/$systest" "${builddir}/"
+ touch "$systest/.prepared"
fi
fi
else
echowarn "I:$systest:Prerequisites missing, skipping test."
if [ $result -eq 255 ]; then
- echowarn "R:$systest:SKIPPED";
+ echowarn "R:$systest:SKIPPED";
else
- echowarn "R:$systest:UNTESTED"
+ echowarn "R:$systest:UNTESTED"
fi
echoend "E:$systest:$(date_with_args)"
exit 0
if test -f "$systest/clean.sh"
then
if ! ( cd "${systest}" && $SHELL clean.sh "$@" ); then
- echowarn "I:$systest:clean.sh script failed"
- echofail "R:$systest:FAIL"
- echoend "E:$systest:$(date_with_args)"
- exit 1
+ echowarn "I:$systest:clean.sh script failed"
+ echofail "R:$systest:FAIL"
+ echoend "E:$systest:$(date_with_args)"
+ exit 1
fi
-
fi
# Set up any dynamically generated test data
if test -f "$systest/setup.sh"
then
if ! ( cd "${systest}" && $SHELL setup.sh "$@" ); then
- echowarn "I:$systest:setup.sh script failed"
- echofail "R:$systest:FAIL"
- echoend "E:$systest:$(date_with_args)"
- exit 1
+ echowarn "I:$systest:setup.sh script failed"
+ echofail "R:$systest:FAIL"
+ echoend "E:$systest:$(date_with_args)"
+ exit 1
fi
fi
if [ -n "$PYTEST" ]; then
run=$((run+1))
for test in $(cd "${systest}" && find . -name "tests*.py"); do
- start_servers
- rm -f "$systest/$test.status"
- test_status=0
- (cd "$systest" && "$PYTEST" -v "$test" "$@" || echo "$?" > "$test.status") | SYSTESTDIR="$systest" cat_d
- if [ -f "$systest/$test.status" ]; then
- echo_i "FAILED"
- test_status=$(cat "$systest/$test.status")
- fi
- status=$((status+test_status))
- stop_servers || status=1
+ start_servers
+ rm -f "$systest/$test.status"
+ test_status=0
+ (cd "$systest" && "$PYTEST" -v "$test" "$@" || echo "$?" > "$test.status") | SYSTESTDIR="$systest" cat_d
+ if [ -f "$systest/$test.status" ]; then
+ echo_i "FAILED"
+ test_status=$(cat "$systest/$test.status")
+ fi
+ status=$((status+test_status))
+ stop_servers || status=1
done
else
echoinfo "I:$systest:pytest not installed, skipping python tests"