
I like the auto test feature of Boost.test because it's quick and simple to use. Unfortunately, when BOOST_AUTO_TEST_MAIN is #define'd, the auto suite name is hardcoded. Changing auto_unit_test.hpp so user can, *if desired*, change it, can be done with following patch: $ diff -u ~/downloads/boost_1_32_0/boost/test/auto_unit_test.hpp /c/Boost/inclu de/boost-1_32/boost/test/auto_unit_test.hpp --- boost_1_32_0/boost/test/auto_unit_test.hpp Mon Jul 19 09:12:40 2004 +++ /c/Boost/include/boost-1_32/boost/test/auto_unit_test.hpp Wed Apr 6 12:46:07 2005 @@ -19,6 +19,10 @@ // Boost.Test #include <boost/test/unit_test.hpp> +#ifndef BOOST_AUTO_TEST_SUITE_NAME +#define BOOST_AUTO_TEST_SUITE_NAME "Auto Unit Test" +#endif + // ************************************************************************** // // ************** auto_unit_test_registrar ************** // // ************************************************************************** // @@ -27,10 +31,17 @@ namespace unit_test { namespace ut_detail { +inline const char* +suiteName(const char* name = NULL) +{ + return name ? name : BOOST_AUTO_TEST_SUITE_NAME; +} + inline boost::unit_test::test_suite* auto_unit_test_suite() { - static boost::unit_test::test_suite* inst = BOOST_TEST_SUITE( "Auto Unit Test" ); + static boost::unit_test::test_suite* inst + = BOOST_TEST_SUITE( suiteName(BOOST_AUTO_TEST_MAIN) ); return inst; } This allows you to do any of: 1) Like current (default suite name is "Auto Unit Test"): #define BOOST_AUTO_TEST_MAIN 2) Change from default suite name to what you want: #define BOOST_AUTO_TEST_MAIN "Your suite name" 3) Same, but doesn't "overload" the BOOST_AUTO_TEST_MAIN: #define BOOST_AUTO_TEST_MAIN #define BOOST_AUTO_TEST_SUITE_NAME "Your suite name" This enhancement maintains backward compatibility but allows automated test suites to be distinguishable. Oliver