Checktestdata is a program to syntactically verify testdata according to a grammar file, and is available separately from DOMjudge.


Checktestdata is meant to support judges in creating valid testcase data. It can also be used to check the syntax of contestants' solutions output, leaving only the semantic checking to a self-written program, e.g. in case of problems with variable output. Finally, it supports very basic generation of testdata based on the same grammar specification; note that this should not be relied on for complete testcase coverage!

See the checktestdata language specification and some example grammar scripts for more details.

Sources and packages

The checktestdata sources can be found at GitHub. To build checktestdata from repository sources requires Flexc++ and Bisonc++. Alternatively, the release branch from the checktestdata repository contains pregenerated parser source files, which do not require Flexc++/Bisonc++. Finally, Debian packages can be installed straight from our APT repository, see our download page.

Checktestdata is licensed under the 2-clause BSD Licence. This gives you the freedom to use it for any purpose, without cost, make changes that you require and include it in your own project. The checktestdata language specification is dedicated to the public domain.