|
41 | 41 | #include <boost/interprocess/sync/named_mutex.hpp> |
42 | 42 | #include <boost/interprocess/sync/scoped_lock.hpp> |
43 | 43 | #include <boost/thread/thread.hpp> |
| 44 | +#include <boost/timer/timer.hpp> |
44 | 45 |
|
45 | 46 | #define BOOST_TEST_NO_MAIN 1 |
46 | 47 | #include <boost/algorithm/string.hpp> |
@@ -80,7 +81,9 @@ namespace { |
80 | 81 | bool visit(test_unit const& tu) override { |
81 | 82 | if (tu.p_parent_id == framework::master_test_suite().p_id) { |
82 | 83 | testSuiteId_ = tu.p_id; |
83 | | - } else if (tu.p_type == test_unit_type::TUT_SUITE && tu.p_parent_id == testSuiteId_) { |
| 84 | + } else if (tu.p_type == test_unit_type::TUT_SUITE && tu.p_parent_id == testSuiteId_ && |
| 85 | + tu.is_enabled()) { |
| 86 | + std::cout << "TestSuite: " << tu.p_name << ", id=" << tu.p_id << " and parent=" << tu.p_parent_id << std::endl; |
84 | 87 | idMap_[tu.p_parent_id].push_back(tu.p_id); |
85 | 88 | } |
86 | 89 | return test_tree_visitor::visit(tu); |
@@ -128,6 +131,7 @@ test_suite* init_unit_test_suite(int, char*[]); |
128 | 131 |
|
129 | 132 | int main(int argc, char* argv[]) { |
130 | 133 | typedef QuantLib::Time Time; |
| 134 | + boost::timer::cpu_timer testTimer; |
131 | 135 |
|
132 | 136 | std::string moduleName = BOOST_TEST_MODULE; |
133 | 137 | std::string profileFileNameStr = moduleName + "_unit_test_profile.txt"; |
@@ -303,6 +307,19 @@ int main(int argc, char* argv[]) { |
303 | 307 | thread.join(); |
304 | 308 | } |
305 | 309 |
|
| 310 | + testTimer.stop(); |
| 311 | + double seconds = testTimer.elapsed().wall * 1e-9; |
| 312 | + int hours = int(seconds / 3600); |
| 313 | + seconds -= hours * 3600; |
| 314 | + int minutes = int(seconds / 60); |
| 315 | + seconds -= minutes * 60; |
| 316 | + std::cout << std::endl << BOOST_TEST_MODULE << " tests completed in "; |
| 317 | + if (hours > 0) |
| 318 | + std::cout << hours << " h "; |
| 319 | + if (hours > 0 || minutes > 0) |
| 320 | + std::cout << minutes << " m "; |
| 321 | + std::cout << std::fixed << std::setprecision(0) << seconds << " s" << std::endl; |
| 322 | + |
306 | 323 | } else { |
307 | 324 | framework::init(init_unit_test_suite, argc - 1, argv); |
308 | 325 | framework::finalize_setup_phase(); |
@@ -333,7 +350,9 @@ int main(int argc, char* argv[]) { |
333 | 350 | to->test_finish(); |
334 | 351 | #else |
335 | 352 | // works for BOOST_VERSION > 106100, needed for >106500 |
| 353 | + std::cout << "running id: " << id.id << std::endl; |
336 | 354 | framework::run(id.id, false); |
| 355 | + std::cout << "finished running id: " << id.id << std::endl; |
337 | 356 | #endif |
338 | 357 |
|
339 | 358 | auto stopTime = std::chrono::steady_clock::now(); |
|
0 commit comments