blob: 8f09c45a25e14e809838f5755b6e3629de0af634 (
plain) (
blame)
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
37
38
39
40
|
#!/bin/sh
TEST="$1"
NAME=$(basename "$TEST")
mkdir -p "reports/$NAME"
try_vg() {
if which valgrind > /dev/null 2>&1; then
valgrind -q --leak-check=full --error-exitcode=1 "$1"
else
eval "$1"
fi
}
I=0
while :; do
# if no error happened, consider it a pass
if try_vg "./${TEST}" > "reports/$NAME/run-$I" 2>&1
then
echo "$NAME: PASSED"
exit 0
fi
if grep 'loss record' "reports/$NAME/run-$I" >/dev/null; then
echo "$NAME: MEM FAILED"
cat "reports/$NAME/run-$I"
exit 1
fi
# an error occured, was it handled properly?
if grep 'COVSRV: EXIT' "reports/$NAME/run-$I" >/dev/null; then
I=$((I+1))
continue
fi
echo "$NAME: FAILED"
cat "reports/$NAME/run-$I"
exit 1
done
|