From ed34b295e8cd6d3ce6fec5a4640db355cfecf0a1 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 10 Aug 2026 16:09:55 +0200 Subject: imrpoving script --- perft.bash | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'perft.bash') diff --git a/perft.bash b/perft.bash index 4977bcc..352d84e 100755 --- a/perft.bash +++ b/perft.bash @@ -1,5 +1,7 @@ #!/usr/bin/env bash +status=0 + testPerft() { local fen="$1" local depth="$2" @@ -8,8 +10,8 @@ testPerft() { echo "" result=$(./build/mono "perft" $depth "$fen") - count=$(echo $result | jq -r '.result') - took=$(echo $result | jq -r '.ms') + count=$(echo "$result" | jq -r '.result') + took=$(echo "$result" | jq -r '.ms') if [ "$count" = "$expected" ]; then echo "Results match" echo "Took: $took ms" @@ -20,6 +22,7 @@ testPerft() { echo "Fen: $fen" echo "Expected: $expected" echo "Got: $count" + status=1 fi } @@ -37,9 +40,26 @@ configs=( "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -|3|97862" "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -|4|4085603" "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -|5|193690690" + + # other positions + "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - - 0 1|1|14" + "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - - 0 1|2|191" + "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - - 0 1|3|2812" + "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - - 0 1|4|43238" + "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - - 0 1|5|674624" + + # even more cool ones + "r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq - 0 1|1|6" + "r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq - 0 1|2|264" + "r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq - 0 1|3|9467" + "r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq - 0 1|4|422333" + "r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq - 0 1|5|15833292" ) for config in "${configs[@]}"; do IFS='|' read -r fen depth expected <<< "$config" testPerft "$fen" "$depth" "$expected" + if [ $status -ne 0 ]; then + exit "$status" + fi done \ No newline at end of file -- cgit v1.2.3