Pickle already has perft.cpp / perft.h, but the native test setup does not currently expose a repeatable perft regression check. The repository now also has an existing pickle_regression executable for the make/unmake hash invariant, so this issue should fit into that testing structure rather than assuming a completely separate test system is required.
A good first contribution would be to add automated perft coverage that exercises several standard positions at modest depths and fails clearly when the node count is wrong.
Suggested scope:
- either extend the existing regression-test infrastructure with a perft suite, or add a dedicated
pickle_perft_regression / CTest target if that keeps the tests cleaner
- do not change engine behavior
- include the starting position plus a few standard positions that exercise castling, en passant, promotions, checks, and pinned pieces
- keep the default test depths quick enough for CI and local use
- document the command to run the suite
- include the expected node counts and their source in the PR description
Please keep this focused on move-generation correctness rather than search strength. If you want to work on it, comment here before starting so we do not duplicate work.
Pickle already has
perft.cpp/perft.h, but the native test setup does not currently expose a repeatable perft regression check. The repository now also has an existingpickle_regressionexecutable for the make/unmake hash invariant, so this issue should fit into that testing structure rather than assuming a completely separate test system is required.A good first contribution would be to add automated perft coverage that exercises several standard positions at modest depths and fails clearly when the node count is wrong.
Suggested scope:
pickle_perft_regression/ CTest target if that keeps the tests cleanerPlease keep this focused on move-generation correctness rather than search strength. If you want to work on it, comment here before starting so we do not duplicate work.