hasnul / checkmate

A tool for testing how well-behaved a chess engine is against the python-chess library.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Checkmate

Check the behaviour of a collection of chess engines against the expectations of the python-chess library.

Some engines don't play nicely with python-chess. Checkmate attempts to detect these engines, so that we can blame someone... The program does not check that any executables that it finds are actually chess engines before spawning them. It is strongly recommended to run this program in a sandbox or virtual machine. On windows, scan all executables for bad stuff prior to executing.

Todo

Detect protocol

  • Get engine id
  • Detect "standard" options
  • Identify any extra options Adjudicate threefold repetition
  • Record if engine erred

UCI Engine Behaviour

Typically a uci engine offers

  • Threads
  • Hash
  • Tablebases

XBoard Engine Behaviour

An XBoard engine should

  • respond correctly to "rejected usermove"

About

A tool for testing how well-behaved a chess engine is against the python-chess library.

License:GNU General Public License v3.0


Languages

Language:C 48.2%Language:C++ 23.3%Language:Python 8.4%Language:Makefile 7.9%Language:TeX 5.2%Language:Shell 3.7%Language:M4 2.5%Language:LLVM 0.2%Language:Lex 0.2%Language:Roff 0.2%Language:Ruby 0.1%Language:Perl 0.0%Language:sed 0.0%