#include #include #include #define BOOST_TEST_MODULE Demo //XXX #define BOOST_TEST_NO_LIB #define BOOST_TEST_NO_MAIN #include BOOST_AUTO_TEST_CASE(QueuedThreadPoolLoad_test) { static int i(0); BOOST_TEST_MESSAGE("simple compare"); BOOST_TEST(i == 0); } #ifdef BOOST_TEST_NO_MAIN int main(int argc, char* argv[]) { // prototype for user's unit test init function extern ::boost::unit_test::test_suite* init_unit_test_suite(int argc, char* argv[]); int loops = 1; int error = 0; boost::unit_test::init_unit_test_func init_func = &init_unit_test_suite; std::vector args; if (argc > 1 && argv[argc - 1][0] == '-') { std::stringstream ss(argv[argc - 1] + 1); ss >> loops; if (!ss.fail()) { std::cout << "loops requested: " << loops << std::endl; --argc; // private args not for boost::unit_test! CK } for (int i = 0; i < argc; ++i) { args.push_back(std::string(argv[i])); std::cout << i << ": " << argv[i] << std::endl; } } do { error = ::boost::unit_test::unit_test_main(init_func, argc, argv); if (--loops <= 0) { break; } for (int i = 0; i < argc; ++i) { strcpy(argv[i], args[i].c_str()); std::cout << i << ": " << argv[i] << std::endl; } std::cout << "loops left: " << loops << std::endl; } while (!error); return error; } #endif