#!/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 |