DOMjudge - Checktestdata

Checktestdata is a program to syntactically verify testdata according to a grammar file. It was included with DOMjudge up to version 4.0, but now available separately under the BSD licence.


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 an example grammar script 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 licenced under the 2-clause BSD License. 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.