Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

Runtime parameters

Test unit filtering
Custom command line arguments
Summary of run-time parameters
Boost.Test runtime parameters

The Unit Test Framework supports multiple parameters that affect test module execution. To set the parameter's value you can either use a runtime configuration subsystem interface from within the test module initialization function or you can specify the value at runtime during test module invocation.

The Unit Test Framework provides two ways to set a parameter at runtime: by specifying a command line argument and by setting an environment variable. The command line argument always overrides the corresponding environment variable.

During test module initialization the Unit Test Framework parses the command line and excludes all parameters that belong to it and their values from the argument list. The rest of command line is forwarded to the test module initialization function supplied by you. The command line argument format expected by the Unit Test Framework is:


The command line argument name is case sensitive. It is required to match exactly the name in parameter specification. There should not be any spaces between '=' and either command line argument name or argument value.

The corresponding environment variable name is also case sensitive and is required to exactly match the name in the parameter specification.

All information about the currently supported parameters of the Unit Test Framework is summarized in the section boost_test.runtime_config.summary.

Test filtering

The Unit Test Framework provides an extensive filtering facility making it easy to run a specific test or a subset of tests. The section on filtering gives all the details for the command line interface.

Additionally, test-suites and labels may be used in order to construct subset of tests in an efficient and easy way, while decorators (eg. disabled, precondition) can be used to set the default run status of a test case.

Custom runtime parameters

It is possible to extend further the command line interface by providing a custom command line interpretation logic. There are several ways on how to integrate this logic in the Unit Test Framework and this is explained in details in the section Custom runtime parameters.