Last active
November 23, 2024 16:07
-
-
Save peterellisjones/8c46c28141c162d1d8a0f0badbc9cff9 to your computer and use it in GitHub Desktop.
Test positions for debugging chess engines. Formatted as JSON array of FEN strings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"depth":1, | |
"nodes":8, | |
"fen":"r6r/1b2k1bq/8/8/7B/8/8/R3K2R b KQ - 3 2" | |
}, | |
{ | |
"depth":1, | |
"nodes":8, | |
"fen":"8/8/8/2k5/2pP4/8/B7/4K3 b - d3 0 3" | |
}, | |
{ | |
"depth":1, | |
"nodes":19, | |
"fen":"r1bqkbnr/pppppppp/n7/8/8/P7/1PPPPPPP/RNBQKBNR w KQkq - 2 2" | |
}, | |
{ | |
"depth":1, | |
"nodes":5, | |
"fen":"r3k2r/p1pp1pb1/bn2Qnp1/2qPN3/1p2P3/2N5/PPPBBPPP/R3K2R b KQkq - 3 2" | |
}, | |
{ | |
"depth":1, | |
"nodes":44, | |
"fen":"2kr3r/p1ppqpb1/bn2Qnp1/3PN3/1p2P3/2N5/PPPBBPPP/R3K2R b KQ - 3 2" | |
}, | |
{ | |
"depth":1, | |
"nodes":39, | |
"fen":"rnb2k1r/pp1Pbppp/2p5/q7/2B5/8/PPPQNnPP/RNB1K2R w KQ - 3 9" | |
}, | |
{ | |
"depth":1, | |
"nodes":9, | |
"fen":"2r5/3pk3/8/2P5/8/2K5/8/8 w - - 5 4" | |
}, | |
{ | |
"depth":3, | |
"nodes":62379, | |
"fen":"rnbq1k1r/pp1Pbppp/2p5/8/2B5/8/PPP1NnPP/RNBQK2R w KQ - 1 8" | |
}, | |
{ | |
"depth":3, | |
"nodes":89890, | |
"fen":"r4rk1/1pp1qppp/p1np1n2/2b1p1B1/2B1P1b1/P1NP1N2/1PP1QPPP/R4RK1 w - - 0 10" | |
}, | |
{ | |
"depth":6, | |
"nodes":1134888, | |
"fen":"3k4/3p4/8/K1P4r/8/8/8/8 b - - 0 1" | |
}, | |
{ | |
"depth":6, | |
"nodes":1015133, | |
"fen":"8/8/4k3/8/2p5/8/B2P2K1/8 w - - 0 1" | |
}, | |
{ | |
"depth":6, | |
"nodes":1440467, | |
"fen":"8/8/1k6/2b5/2pP4/8/5K2/8 b - d3 0 1" | |
}, | |
{ | |
"depth":6, | |
"nodes":661072, | |
"fen":"5k2/8/8/8/8/8/8/4K2R w K - 0 1" | |
}, | |
{ | |
"depth":6, | |
"nodes":803711, | |
"fen":"3k4/8/8/8/8/8/8/R3K3 w Q - 0 1" | |
}, | |
{ | |
"depth":4, | |
"nodes":1274206, | |
"fen":"r3k2r/1b4bq/8/8/8/8/7B/R3K2R w KQkq - 0 1" | |
}, | |
{ | |
"depth":4, | |
"nodes":1720476, | |
"fen":"r3k2r/8/3Q4/8/8/5q2/8/R3K2R b KQkq - 0 1" | |
}, | |
{ | |
"depth":6, | |
"nodes":3821001, | |
"fen":"2K2r2/4P3/8/8/8/8/8/3k4 w - - 0 1" | |
}, | |
{ | |
"depth":5, | |
"nodes":1004658, | |
"fen":"8/8/1P2K3/8/2n5/1q6/8/5k2 b - - 0 1" | |
}, | |
{ | |
"depth":6, | |
"nodes":217342, | |
"fen":"4k3/1P6/8/8/8/8/K7/8 w - - 0 1" | |
}, | |
{ | |
"depth":6, | |
"nodes":92683, | |
"fen":"8/P1k5/K7/8/8/8/8/8 w - - 0 1" | |
}, | |
{ | |
"depth":6, | |
"nodes":2217, | |
"fen":"K1k5/8/P7/8/8/8/8/8 w - - 0 1" | |
}, | |
{ | |
"depth":7, | |
"nodes":567584, | |
"fen":"8/k1P5/8/1K6/8/8/8/8 w - - 0 1" | |
}, | |
{ | |
"depth":4, | |
"nodes":23527, | |
"fen":"8/8/2k5/5q2/5n2/8/5K2/8 b - - 0 1" | |
} | |
] |
8/8/8/2k5/2pP4/8/B7/4K3 b - d3 5 3
the pawn push that created the enpassant should have set the halfmoves to 0, my program was failing to load this position because of this (which I know is a problem in my end as my validator should be more relaxed, but just saying).
Thanks @ajax333221, fixed
Thank you! Those helped me find and fix a couple of bugs in my engine.
Very useful list, thankyou
this is great, thanks so much!
for anyone using this for testing, the following commands will convert this into a comma-delimited list of string literals, so you can stick them in an array or something.
SRC="https://gist.githubusercontent.com/peterellisjones/8c46c28141c162d1d8a0f0badbc9cff9/raw/b11af5a3dd978724ac2d4a531217133b9a3ad9ba/Chess%2520Perft%2520test%2520positions"
curl $SRC | jq ".[] | .fen" | sed "s/\$/,/g"
Thanks, this was very helpful for debugging my chess engine!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Fixed :)