...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
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.
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.