# Author: E. Scott Daniels
# -------------------------------------------------------------------------
+function abort_after {
+ touch /tmp/running
+ sleep ${1:-60}
+ if [[ -e /tmp/running ]]
+ then
+ echo "abort: unit test running too long, killing $2"
+ kill -9 ${2:-bad-pid}
+ fi
+}
+
function setup_dirs {
mkdir -p /tmp/fifos
mkdir -p /tmp/mc_listener_test/final
rm -fr /tmp/mc_listener_test
}
-
if ! make -B unit_test # ensure that it's fresh
then
echo "[FAIL] cannot make unit_test"
exit
fi
+abort_after 60
if ! unit_test >/tmp/PID$$.utlog 2>&1
then
+ rm -f /tmp/running
cat /tmp/PID$$.utlog
rm -f /tmp/PID$$.*
purge_dirs
exit 1
fi
+rm -f /tmp/running
echo "[PASS] base unit tests all pass"
echo "[INFO] file/directory verification begins...."
then
echo "[FAIL] copy source test should have been unlinked but was there!"
rc=1
-else
+else
dest_md5=$( cat $copy_dest | md5sum ) # use cat so that filename doesn't factor in to output
if [[ $dest_md5 != $src_md5 ]]
then
echo "[FAIL] overall test fails"
else
echo "[PASS] overall test passes"
+ rm -f *test*.gcov
fi
rm -f /tmp/PID$$.*