| 58 | } |
| 59 | |
| 60 | void test_frames_string_data_validity() { |
| 61 | stacktrace trace = return_from_nested_namespaces(); |
| 62 | for (std::size_t i = 0; i < trace.size(); ++i) { |
| 63 | BOOST_TEST_EQ(count_unprintable_chars(trace[i].source_file()), 0); |
| 64 | BOOST_TEST_EQ(count_unprintable_chars(trace[i].name()), 0); |
| 65 | } |
| 66 | |
| 67 | BOOST_TEST(to_string(trace).find('\0') == std::string::npos); |
| 68 | } |
| 69 | |
| 70 | // Template parameter Depth is to produce different functions on each Depth. This simplifies debugging when one of the tests catches error |
| 71 | template <std::size_t Depth> |
no test coverage detected