--valgrind-thread)
echo "valgrind-thread testing started"
prefix=''
- exeprefix='valgrind --error-exitcode=42'
+ exeprefix='valgrind --fair-sched=try --error-exitcode=42'
postfix='1>/dev/null'
threads="2"
;;
echo "sanitizer-undefined testing started"
prefix='!'
exeprefix=''
- postfix='2>&1 | grep "runtime error:"'
+ postfix='2>&1 | grep -A50 "runtime error:"'
threads="1"
;;
--sanitizer-thread)
echo "sanitizer-thread testing started"
prefix='!'
exeprefix=''
- postfix='2>&1 | grep "WARNING: ThreadSanitizer:"'
+ postfix='2>&1 | grep -A50 "WARNING: ThreadSanitizer:"'
threads="2"
cat << EOF > tsan.supp
race:TTEntry::save
race:TTEntry::value
race:TTEntry::eval
+race:TTEntry::is_pv
race:TranspositionTable::probe
race:TranspositionTable::hashfull
"go depth 10" \
"go movetime 1000" \
"go wtime 8000 btime 8000 winc 500 binc 500" \
- "bench 128 $threads 10 default depth"
+ "bench 128 $threads 8 default depth"
do
echo "$prefix $exeprefix ./stockfish $args $postfix"
# more general testing, following an uci protocol exchange
cat << EOF > game.exp
- set timeout 10
+ set timeout 240
spawn $exeprefix ./stockfish
send "uci\n"
expect "bestmove"
send "position fen 5rk1/1K4p1/8/8/3B4/8/8/8 b - - 0 1\n"
- send "go depth 30\n"
+ send "go depth 20\n"
expect "bestmove"
send "quit\n"
send "uci\n"
send "setoption name SyzygyPath value ../tests/syzygy/\n"
expect "info string Found 35 tablebases" {} timeout {exit 1}
- send "bench 128 1 10 default depth\n"
+ send "bench 128 1 8 default depth\n"
send "quit\n"
expect eof