40 lines
641 B
Bash
Executable File
40 lines
641 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# default: execute all tests
|
|
TESTS="01_auth.sh 02_algo.sh 03_milenage_par.sh 04_op_opc.sh 05_ki.sh 06_seq.sh 07_mnclen.sh"
|
|
|
|
# if command line specifies some specific tests, execute only those
|
|
if [ $# -ge 1 ]; then
|
|
TESTS=$*
|
|
fi
|
|
|
|
TMP=`tempfile`
|
|
NUM_FAIL=0
|
|
|
|
# prepare test card
|
|
./prepare
|
|
|
|
for T in $TESTS; do
|
|
echo "==> Executing Testcase $T"
|
|
EXPOUT=${T%%.sh}.out
|
|
rm $TMP
|
|
./$T > $TMP
|
|
diff -u $EXPOUT $TMP
|
|
if [ $? -eq 0 ]; then
|
|
echo "Test $T passed"
|
|
else
|
|
echo "Test $T FAILED!"
|
|
NUM_FAIL=$((NUM_FAIL+1))
|
|
fi
|
|
done
|
|
|
|
echo
|
|
echo
|
|
echo "Summary: $NUM_FAIL Tests failed"
|
|
|
|
if [ $NUM_FAIL -gt 0 ]; then
|
|
exit 1
|
|
else
|
|
exit 0
|
|
fi
|