aboutsummaryrefslogtreecommitdiff
path: root/scripts/run-test
blob: c9711203bf148169cac52af276b5b63f1e7c0439 (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
#!/bin/sh

TEST="$1"
NAME=$(basename "$TEST")

mkdir -p "reports/$NAME"

I=0
while :; do
	# if no error happened, consider it a pass
	if valgrind -q --leak-check=full --error-exitcode=1 \
		"./$TEST" > "reports/$NAME/run-$I" 2>&1
	then
		echo "$NAME: PASSED"
		exit 0
	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"
	exit 1
done