aboutsummaryrefslogtreecommitdiff
path: root/test/tsan/deflake.bash
blob: 9731fa53e589219f37ca5d743ffa6cd02cf66d61 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/env bash
# This script is used to deflake inherently flaky tsan tests.
# It is invoked from lit tests as:
# %deflake mybinary
# which is then substituted by lit to:
# $(dirname %s)/deflake.bash mybinary
# The script runs the target program up to 10 times,
# until it fails (i.e. produces a race report).

for i in $(seq 1 10); do
	OUT=`$@ 2>&1`
	if [[ $? != 0 ]]; then
		echo "$OUT"
		exit 0
	fi
done
exit 1