| 236 | // Template parameter bool BySkip is to produce different functions on each BySkip. This simplifies debugging when one of the tests catches error |
| 237 | template <bool BySkip> |
| 238 | void test_empty_basic_stacktrace() { |
| 239 | typedef boost::stacktrace::stacktrace st_t; |
| 240 | st_t st = BySkip ? st_t(100500, 1024) : st_t(0, 0); |
| 241 | |
| 242 | BOOST_TEST(!st); |
| 243 | BOOST_TEST(st.empty()); |
| 244 | BOOST_TEST(st.size() == 0); |
| 245 | BOOST_TEST(st.begin() == st.end()); |
| 246 | BOOST_TEST(st.cbegin() == st.end()); |
| 247 | BOOST_TEST(st.cbegin() == st.cend()); |
| 248 | BOOST_TEST(st.begin() == st.cend()); |
| 249 | |
| 250 | BOOST_TEST(st.rbegin() == st.rend()); |
| 251 | BOOST_TEST(st.crbegin() == st.rend()); |
| 252 | BOOST_TEST(st.crbegin() == st.crend()); |
| 253 | BOOST_TEST(st.rbegin() == st.crend()); |
| 254 | |
| 255 | BOOST_TEST(hash_value(st) == hash_value(st_t(0, 0))); |
| 256 | BOOST_TEST(st == st_t(0, 0)); |
| 257 | BOOST_TEST(!(st < st_t(0, 0))); |
| 258 | BOOST_TEST(!(st > st_t(0, 0))); |
| 259 | } |
| 260 | |
| 261 | void test_stacktrace_limits() |
| 262 | { |
nothing calls this directly
no test coverage detected