Skip to content

Add an automated perft regression target #2

Description

@DMDTague

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions