Command line

doctest works quite nicely without any command line options at all - but for more control there are a bunch that are available.

All the flags/options also come with a prefixed version (with -dt- at the front) - for example -rand-seed=(int) can be used also with -dt-rand-seed=(int) or -dt-rs=(int).

Also all the unprefixed versions listed here can be disabled with the DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS define.

This is done for easy interoperability with client command line option handling when the testing framework is integrated with a client codebase - all doctest related flags/options can be prefixed so there are no clashes and so that the user can exclude everything starting with -dt- from their option parsing.

Query flags - after the result is printed the program quits without executing any test cases (and if the framework is integrated into a client codebase and supplying it's own main() entry point - the program should check the result of doctest::Context::shouldExit() after calling doctest::Context::run() and should exit - this is left up to the user).

int/string options - they require a value after the = sign - without spaces! For example: --order-by=rand.

Filters use wildcards for matching values - where * means "match any sequence" and ? means "match any one character".