tools/sgf2gtp.py: Extended description, minor commandline option rename.
[pachi.git] / t-regress / README
blob937c7bb690214824e387ba85f4d4d34dc63a5829
1 This is Pachi's regression suite. It contains SGF game records that can
2 be automatically probed with current Pachi version for particular
3 behavior (usually observed in older Pachi versions). We do not anticipate
4 that Pachi would pass all of the tests - when it will, it will be probably
5 pro strength. ;-) The goal is simply to steadily reduce these and verify
6 that modifications do not reintroduce bad behavior.
8 The game SGF records are in the games/ subdirectory, and also cross-linked
9 in by-*/ subdirectories based on categories. Each SGF record must contain
10 a GC[] tag ("game comment") describing the test-case in a manner that is
11 both human-readable and machine-readable. The description lists specific
12 moves and how they should be tested, one move per line, using this syntax:
14         <movenumber> <movepos>:<classification>[,<movepos>:<classification>,...] <comment>
16         movenumber: Number of the tested move
17         movepos: A move coordinate (just for consistency)
18         classification: Comma-separated list of move classifications,
19                         no whitespaces
20         comment: Ignored by the testsuite.
22 These classifications are available for now:
24         bad     This move should not be chosen as the next move.
25         bad!    This move is so useless that it should not be in the top
26                 considered moves. (This is a bit feeble class.)
27         must    This move is essential and must be made immediately.
28         alive   This group should be considered alive.
29         dead    This group should be considered dead.
31 Classifications may be prefixed by various letters:
33         +       An issue that is already supposed to be fixed.
34         /       An intermittent issue that happens only in case of some
35                 (mis)fortune in the search.
37 Classifications may be postfixed by category name in {curly brackets}.
39 Example:
41         40 C3:bad non-working invasion
42         41 B2:bad{tsumego},+A1:bad{tsumego} makes C3 alive