Skip to content

Commit

Permalink
Integrate syzygy in automated testing (v2).
Browse files Browse the repository at this point in the history
Extends valgrind/sanitizer testing to cover syzygy code.

The script downloads 4 man syzygy as needed. The time needed for the
additional testing is small (in fact hard to see a difference compared
to the large fluctuations in testing time in travis).

Possible follow-ups:

 * include more TB sensitive positions in bench.
 * include the test script of recent commit "Refactor tbprobe.cpp".
 * verify unchanged bench with TB (with a long run).
 * make the TB part of the continuation integration tests optional.

Closes official-stockfish#1518
and    official-stockfish#1490

No functional change.
  • Loading branch information
vondele authored and snicolet committed Mar 30, 2018
1 parent 9953bff commit c959871
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 6 deletions.
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ matrix:
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-7', 'g++-7-multilib', 'g++-multilib', 'valgrind', 'expect']
packages: ['g++-7', 'g++-7-multilib', 'g++-multilib', 'valgrind', 'expect', 'curl']
env:
- COMPILER=g++-7
- COMP=gcc
Expand All @@ -19,7 +19,7 @@ matrix:
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-5.0']
packages: ['clang-5.0', 'llvm-5.0-dev', 'g++-multilib', 'valgrind', 'expect']
packages: ['clang-5.0', 'llvm-5.0-dev', 'g++-multilib', 'valgrind', 'expect', 'curl']
env:
- COMPILER=clang++-5.0
- COMP=clang
Expand Down
29 changes: 25 additions & 4 deletions tests/instrumented.sh
Original file line number Diff line number Diff line change
Expand Up @@ -108,13 +108,34 @@ cat << EOF > game.exp
exit \$value
EOF

for exps in game.exp
#download TB as needed
if [ ! -d ../tests/syzygy ]; then
curl -sL https://api.github.com/repos/niklasf/python-chess/tarball/9b9aa13f9f36d08aadfabff872882f4ab1494e95 | tar -xzf -
mv niklasf-python-chess-9b9aa13 ../tests/syzygy
fi

cat << EOF > syzygy.exp
set timeout 240
spawn $exeprefix ./stockfish
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 "quit\n"
expect eof
# return error code of the spawned program, useful for valgrind
lassign [wait] pid spawnid os_error_flag value
exit \$value
EOF

for exp in game.exp syzygy.exp
do

echo "$prefix expect $exps $postfix"
eval "$prefix expect $exps $postfix"
echo "$prefix expect $exp $postfix"
eval "$prefix expect $exp $postfix"

rm $exps
rm $exp

done

Expand Down

0 comments on commit c959871

Please sign in to comment.