Boost C++ Libraries

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

PrevUpHomeNext

Command line usage recommendations

If you got fatal exception somewhere within test case, make program generate coredump by adding extra command line argument

If you got "memory access violation" message (or any other message indication fatal or system error) when you run you test, to get more information about the error location add

--catch_system_error=no

to the test run command line. Now run the test again and it will create a coredump you could analyze using you preferable debugger. Or run it under debugger in a first place and it will break at the point of failure.

How to use test module build with Boost.Test framework under management of automated regression test facilities?

My first recommendation is to make sure that the test framework catches all fatal errors by adding argument

--catch_system_error=yes

to all test modules invocations. Otherwise test program may produce unwanted dialogs (depends on compiler and OS) that will halt you regression tests run. The second recommendation is to suppress result report output by adding

--report_level=no

argument and test log output by adding

--log_level=nothing

argument, so that test module won't produce undesirable output no one is going to look at anyway. We recommend relying only on result code that will be consistent for all test programs. An alternative to my second recommendation is direct both log and report to separate file you could analyze later on. Moreover you can make Boost.Test to produce them in XML or JUNIT format using

--output_format=XML

or

--log_format=JUNIT

and use some automated tool that will format this information as you like.


PrevUpHomeNext