Answers.Body: <p><a href="https://github.com/cutechess/cutechess/" rel="nofollow noreferrer">Cutechess</a> is a very good solution for this. You can use either the CLI or the GUI to run matches of engines (both UCI and XBoard protocol), and at least the CLI even supports <a href="https://en.wikipedia.org/wiki/Sequential_probability_ratio_test" rel="nofollow noreferrer">SPRT</a> as a termination criterion of the match, see the <a href="https://github.com/cutechess/cutechess/blob/master/projects/cli/res/doc/help.txt" rel="nofollow noreferrer">help</a>.</p>
  
  <p>Cutechess is also heavily used in the development of Stockfish when running matches between different versions of Stockfish on <a href="http://tests.stockfishchess.org/tests" rel="nofollow noreferrer">fishtest</a>.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-04T11:18:47.103Z
Answers.Text: The CLI for this looks really neat ... so does the fact that Stockfish is using it. Just compiled it on my machine and started a tournament. Thank you!
Answers.UserDisplayName: GPK
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-04T13:56:53.533Z
Answers.Text: Sure. One feature also worth mentioning is that it supports concurrent games within a match (argument "-concurrency"), which makes testing on multiple cores very convenient and efficient.
Answers.UserDisplayName: Fabian Fichter
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-03T12:59:48.753Z
Answers.LastActivityDate: 2018-12-03T12:59:48.753Z
Answers.UserDisplayName: Fabian Fichter
Answers.Body: <p>Arena would best suit you. It has a graphical user interface as well as other features required for engine development such as multi-PV, specifying number or cores, and many more (but as a new user it will take you some time to get used to it). Download it from their <a href="https://www.google.com/url?sa=t&amp;source=web&amp;rct=j&amp;url=http://www.playwitharena.com/&amp;ved=2ahUKEwjh16-g64PfAhVCUxoKHcckDZ8QFjAAegQIBhAD&amp;usg=AOvVaw3IfUE5NCaoHdSxZrGpSHQo" rel="nofollow noreferrer">website</a>.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-04T11:27:35.437Z
Answers.Text: Looks nice, but looks like it doesn't have CLI (forgot to list that as a requirement).
  
  Also seems to provide binaries only for Windows and Linux but not Mac (and no source code to compile it for Mac either)
Answers.UserDisplayName: GPK
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-03T14:10:20.823Z
Answers.LastActivityDate: 2018-12-03T14:10:20.823Z
Answers.UserDisplayName: Wais Kamal
Body: <p>I am making modifications to a chess engine.</p>
  
  <p>I want to get quick feedback on whether the modified version seems stronger than an unmodified version or not, by fighting the older version multiple times.</p>
  
  <p>Does anyone know about a good tool to do this? (Currently I have some homemade code to do this using python-chess ... but a tried and tested tool would be preferred)</p>
  
Tags: <engines><tournament><programming><uci>
Title: Testing an engine (UCI) against an older version of itself
ThreadText: # Testing an engine (UCI) against an older version of itself
  
  (Asked by: username_0 on 2018-12-03)
  
  I am making modifications to a chess engine.
  
  I want to get quick feedback on whether the modified version seems stronger than an unmodified version or not, by fighting the older version multiple times.
  
  Does anyone know about a good tool to do this? (Currently I have some homemade code to do this using python-chess ... but a tried and tested tool would be preferred)
  
  **Tags:** engines, tournament, programming, uci
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2018-12-03. Score: 1 | Accepted answer
  
  [Cutechess](https://github.com/cutechess/cutechess/) is a very good solution for this. You can use either the CLI or the GUI to run matches of engines (both UCI and XBoard protocol), and at least the CLI even supports [SPRT](https://en.wikipedia.org/wiki/Sequential_probability_ratio_test) as a termination criterion of the match, see the [help](https://github.com/cutechess/cutechess/blob/master/projects/cli/res/doc/help.txt).
  
  Cutechess is also heavily used in the development of Stockfish when running matches between different versions of Stockfish on [fishtest](http://tests.stockfishchess.org/tests).
  
  > **Comments:**
  > **username_0**: The CLI for this looks really neat ... so does the fact that Stockfish is using it. Just compiled it on my machine and started a tournament. Thank you!  
  > **username_1**: Sure. One feature also worth mentioning is that it supports concurrent games within a match (argument "-concurrency"), which makes testing on multiple cores very convenient and efficient.  
  
  ---
  
  ### Answer by username_2 on 2018-12-03. Score: 0
  
  Arena would best suit you. It has a graphical user interface as well as other features required for engine development such as multi-PV, specifying number or cores, and many more (but as a new user it will take you some time to get used to it). Download it from their [website](https://www.google.com/url?sa=t&source=web&rct=j&url=http://www.playwitharena.com/&ved=2ahUKEwjh16-g64PfAhVCUxoKHcckDZ8QFjAAegQIBhAD&usg=AOvVaw3IfUE5NCaoHdSxZrGpSHQo).
  
  > **Comments:**
  > **username_0**: Looks nice, but looks like it doesn't have CLI (forgot to list that as a requirement).  Also seems to provide binaries only for Windows and Linux but not Mac (and no source code to compile it for Mac either)  
  
  ---
  
  