-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.sh
executable file
·37 lines (30 loc) · 975 Bytes
/
test.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
TIMEOUT=600
#for file in $(find ./examples/{"",vbcmn15/}{pass,fail} -iname '*.stl' | sort);
for file in $(find ./examples/{pass,fail} -iname '*.stl' | sort);
do
name=$(basename $file .stl)
TMPFILE=$(mktemp /tmp/${name}.XXXXXX) || \
{ echo "Couldn't create temporary file!">&2; exit 1; }
printf "Stellite> %-40s " $file;
# Run the test.
STARTTIME=$(date +%s)
timeout $TIMEOUT ./runtest.sh ${1-7} $file > $TMPFILE
CMDRES=$?
ENDTIME=$(date +%s)
# Check the outcome
if [ $CMDRES -eq 124 ]; then
printf "Timed out ($((TIMEOUT)) secs)\n";
elif grep -q "OUTCOME" $TMPFILE; then
printf "Pass";
printf " ($(($ENDTIME - $STARTTIME)) secs)\n"
else
printf "Fail";
printf " ($(($ENDTIME - $STARTTIME)) secs)\n"
fi
# Detect Alloy warnings
if grep -q "Warning:" $TMPFILE; then
printf "ALLOY WARNING:\n"
awk '/Warning/{a=1}/============ Command/{a=0}a' $TMPFILE | sed 's/^/ /'
fi
done