SGF Syntax Checker & Converter: SGFC V2.1
=========================================

SGFC Copyright (C) 1996-2026 by Arno Hollosi <ahollosi@xmp.net>

SGFC is open source software and is published under the terms of the
BSD License. Read 'COPYING' for more information.


Unit tests
==========

A (small number) of unit test cases are located in tests/. They are using
the Check unit test framework (https://libcheck.github.io/check/), v0.15.2.
If you would like to run the tests, you need to install this library
(and its dependencies: pthread, subunit, rt, and m) first. The tests work
on my Linux machine, there is no guarantee that they work on other systems.

If you find a problem with the tests, or are able to get them running on
other platforms, I'm happy to accept emails, patches, and merge requests.

The Check unit test framework is LGPL licensed. See the library docs or
their homepage for further information.

Check uses forking in order to limit crashes/segfaults etc. to single
test cases. To ease debugging you can disable forking in test-runner.c
by adding "srunner_set_fork_status(sr, CK_NOFORK)".


Files
-----

test-runner.c       contains the main() function to run all tests
test-common.h       prototypes and common include files
test-helper.c       setup(), teardown(), and other helpers

check-encoding.c    test cases for handling different encodings
check-options.c     test cases for parsing of command line options
check-value.c       test cases for Check_Value()
delete-node.c       test cases for del_empty_nodes option and DelNode()
load-properties.c   test cases for lowercase chars in property IDs
other-games.c       test cases for property values when GM[] != 1
parse-text.c        test cases for Parse_Text() and Check_Text()
position.c          test cases verifying the internal board plays
saving.c            test cases for edge cases in saving files
trigger-errors.c    test cases for triggering almost all SGFC errors
value.length.c      test cases verifying PropValue->length attribute
