mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-06 10:53:50 +08:00
Improve testing coverage, remove unused code
a) Add further tests to CI to cover most features. This uncovered a potential race in case setoption was sent between two searches. As the UCI protocol requires this sent to be went the engine is not searching, setoption now ensures that this is the case. b) Remove some unused code closes https://github.com/official-stockfish/Stockfish/pull/4730 No functional change
This commit is contained in:
committed by
Stéphane Nicolet
parent
0d2ddb81ef
commit
8192945870
@@ -64,14 +64,32 @@ EOF
|
||||
;;
|
||||
esac
|
||||
|
||||
cat << EOF > bench_tmp.epd
|
||||
Rn6/1rbq1bk1/2p2n1p/2Bp1p2/3Pp1pP/1N2P1P1/2Q1NPB1/6K1 w - - 2 26
|
||||
rnbqkb1r/ppp1pp2/5n1p/3p2p1/P2PP3/5P2/1PP3PP/RNBQKBNR w KQkq - 0 3
|
||||
3qnrk1/4bp1p/1p2p1pP/p2bN3/1P1P1B2/P2BQ3/5PP1/4R1K1 w - - 9 28
|
||||
r4rk1/1b2ppbp/pq4pn/2pp1PB1/1p2P3/1P1P1NN1/1PP3PP/R2Q1RK1 w - - 0 13
|
||||
EOF
|
||||
|
||||
# simple command line testing
|
||||
for args in "eval" \
|
||||
"go nodes 1000" \
|
||||
"go depth 10" \
|
||||
"go perft 4" \
|
||||
"go movetime 1000" \
|
||||
"go wtime 8000 btime 8000 winc 500 binc 500" \
|
||||
"go wtime 1000 btime 1000 winc 0 binc 0" \
|
||||
"go wtime 1000 btime 1000 winc 0 binc 0" \
|
||||
"go wtime 1000 btime 1000 winc 0 binc 0 movestogo 5" \
|
||||
"go movetime 200" \
|
||||
"go nodes 20000 searchmoves e2e4 d2d4" \
|
||||
"bench 128 $threads 8 default depth" \
|
||||
"export_net verify.nnue"
|
||||
"bench 128 $threads 3 bench_tmp.epd depth" \
|
||||
"export_net verify.nnue" \
|
||||
"d" \
|
||||
"compiler" \
|
||||
"license" \
|
||||
"uci"
|
||||
do
|
||||
|
||||
echo "$prefix $exeprefix ./stockfish $args $postfix"
|
||||
@@ -92,6 +110,7 @@ cat << EOF > game.exp
|
||||
send "uci\n"
|
||||
expect "uciok"
|
||||
|
||||
# send "setoption name Debug Log File value debug.log\n"
|
||||
send "setoption name Threads value $threads\n"
|
||||
|
||||
send "ucinewgame\n"
|
||||
@@ -107,6 +126,28 @@ cat << EOF > game.exp
|
||||
send "go depth 10\n"
|
||||
expect "bestmove"
|
||||
|
||||
send "setoption name UCI_ShowWDL value true\n"
|
||||
send "position startpos\n"
|
||||
send "flip\n"
|
||||
send "go depth 5\n"
|
||||
expect "bestmove"
|
||||
|
||||
send "setoption name Skill Level value 10\n"
|
||||
send "position startpos\n"
|
||||
send "go depth 5\n"
|
||||
expect "bestmove"
|
||||
|
||||
send "setoption name Clear Hash\n"
|
||||
|
||||
send "setoption name EvalFile value verify.nnue\n"
|
||||
send "position startpos\n"
|
||||
send "go depth 5\n"
|
||||
expect "bestmove"
|
||||
|
||||
send "setoption name MultiPV value 4\n"
|
||||
send "position startpos\n"
|
||||
send "go depth 5\n"
|
||||
|
||||
send "quit\n"
|
||||
expect eof
|
||||
|
||||
@@ -128,6 +169,13 @@ cat << EOF > syzygy.exp
|
||||
send "setoption name SyzygyPath value ../tests/syzygy/\n"
|
||||
expect "info string Found 35 tablebases" {} timeout {exit 1}
|
||||
send "bench 128 1 8 default depth\n"
|
||||
send "ucinewgame\n"
|
||||
send "position fen 4k3/PP6/8/8/8/8/8/4K3 w - - 0 1\n"
|
||||
send "go depth 5\n"
|
||||
expect "bestmove"
|
||||
send "position fen 8/1P6/2B5/8/4K3/8/6k1/8 w - - 0 1\n"
|
||||
send "go depth 5\n"
|
||||
expect "bestmove"
|
||||
send "quit\n"
|
||||
expect eof
|
||||
|
||||
@@ -146,6 +194,6 @@ do
|
||||
|
||||
done
|
||||
|
||||
rm -f tsan.supp
|
||||
rm -f tsan.supp bench_tmp.epd
|
||||
|
||||
echo "instrumented testing OK"
|
||||
|
||||
Reference in New Issue
Block a user