Removed submodules
This commit is contained in:
Executable
+93
@@ -0,0 +1,93 @@
|
||||
#!/bin/bash
|
||||
|
||||
EXE="../dhcps"
|
||||
|
||||
function run_test {
|
||||
|
||||
# parameters
|
||||
TAG=$1
|
||||
shift
|
||||
ARGS=$1
|
||||
shift
|
||||
|
||||
PTAG=$(printf '%-30s' "$TAG")
|
||||
if [[ $(echo $TAG | cut -d'_' -f1) == $SKIP_C ||
|
||||
$(echo $TAG | cut -d'_' -f1) == $SKIP_B ||
|
||||
$(echo $TAG | cut -d'_' -f1) == $SKIP_A ]] ; then
|
||||
echo "$PTAG SKIPPED (previous phases not complete)"
|
||||
return
|
||||
fi
|
||||
|
||||
# file paths
|
||||
OUTPUT=outputs/$TAG.txt
|
||||
DIFF=outputs/$TAG.diff
|
||||
EXPECT=expected/$TAG.txt
|
||||
VALGRND=valgrind/$TAG.txt
|
||||
|
||||
SARGS="-s 1"
|
||||
# run test and compare output to the expected version
|
||||
if [[ $TAG == "A_threads" ]] ; then
|
||||
SARGS="-t ${SARGS}0"
|
||||
fi
|
||||
if [[ $(echo $TAG | cut -d'_' -f1) == 'D' ]] ; then
|
||||
$EXE $SARGS >"$OUTPUT" 2>/dev/null &
|
||||
else
|
||||
$EXE $SARGS >/dev/null 2>&1 &
|
||||
fi
|
||||
sleep .5
|
||||
if [[ $TAG == "A_threads" ]] ; then
|
||||
./threads 2>/dev/null >"$OUTPUT"
|
||||
elif [[ $(echo $TAG | cut -d'_' -f1) == 'D' ]] ; then
|
||||
./client $ARGS >/dev/null 2>&1
|
||||
else
|
||||
./client $ARGS 2>/dev/null >"$OUTPUT"
|
||||
fi
|
||||
sleep 1.5
|
||||
|
||||
diff -u "$OUTPUT" "$EXPECT" >"$DIFF"
|
||||
if [ -s "$DIFF" ]; then
|
||||
|
||||
if [[ $TAG == "A_threads" ]] ; then
|
||||
echo "$PTAG FAIL - Command line: $EXE $SARGS ; ./threads $ARGS"
|
||||
else
|
||||
echo "$PTAG FAIL - Command line: $EXE $SARGS ; ./client $ARGS"
|
||||
fi
|
||||
if [[ $(echo $PTAG | cut -d'_' -f1) == 'D' ]] ; then
|
||||
SKIP_C="C"
|
||||
SKIP_B="B"
|
||||
SKIP_A="A"
|
||||
elif [[ $(echo $PTAG | cut -d'_' -f1) == 'C' ]] ; then
|
||||
SKIP_B="B"
|
||||
SKIP_A="A"
|
||||
elif [[ $(echo $PTAG | cut -d'_' -f1) == 'B' ]] ; then
|
||||
SKIP_A="A"
|
||||
fi
|
||||
else
|
||||
echo "$PTAG pass"
|
||||
fi
|
||||
|
||||
# run valgrind
|
||||
#valgrind $EXE -s 2 >"$VALGRND" 2>&1 &
|
||||
#sleep 1
|
||||
#./client $ARGS >/dev/null 2>&1
|
||||
#sleep 2
|
||||
}
|
||||
|
||||
# initialize output folders
|
||||
mkdir -p outputs
|
||||
mkdir -p valgrind
|
||||
rm -f outputs/* valgrind/*
|
||||
|
||||
# run individual tests
|
||||
source itests.include
|
||||
|
||||
# check for memory leaks
|
||||
#LEAK=`cat valgrind/*.txt | grep 'definitely lost' | grep -v ' 0 bytes in 0 blocks'`
|
||||
#LEAK=
|
||||
#if [ -z "$LEAK" ]; then
|
||||
# echo "No memory leak found."
|
||||
#else
|
||||
# echo "Memory leak(s) found. See files listed below for details."
|
||||
# grep 'definitely lost' valgrind/*.txt | sed -e 's/:.*$//g' | sed -e 's/^/ - /g'
|
||||
#fi
|
||||
|
||||
Reference in New Issue
Block a user