| 5620 | void subcase_end() override { xml.endElement(); } |
| 5621 | |
| 5622 | void log_assert(const AssertData& rb) override { |
| 5623 | if(!rb.m_failed && !opt.success) |
| 5624 | return; |
| 5625 | |
| 5626 | DOCTEST_LOCK_MUTEX(mutex) |
| 5627 | |
| 5628 | xml.startElement("Expression") |
| 5629 | .writeAttribute("success", !rb.m_failed) |
| 5630 | .writeAttribute("type", assertString(rb.m_at)) |
| 5631 | .writeAttribute("filename", skipPathFromFilename(rb.m_file)) |
| 5632 | .writeAttribute("line", line(rb.m_line)); |
| 5633 | |
| 5634 | xml.scopedElement("Original").writeText(rb.m_expr); |
| 5635 | |
| 5636 | if(rb.m_threw) |
| 5637 | xml.scopedElement("Exception").writeText(rb.m_exception.c_str()); |
| 5638 | |
| 5639 | if(rb.m_at & assertType::is_throws_as) |
| 5640 | xml.scopedElement("ExpectedException").writeText(rb.m_exception_type); |
| 5641 | if(rb.m_at & assertType::is_throws_with) |
| 5642 | xml.scopedElement("ExpectedExceptionString").writeText(rb.m_exception_string.c_str()); |
| 5643 | if((rb.m_at & assertType::is_normal) && !rb.m_threw) |
| 5644 | xml.scopedElement("Expanded").writeText(rb.m_decomp.c_str()); |
| 5645 | |
| 5646 | log_contexts(); |
| 5647 | |
| 5648 | xml.endElement(); |
| 5649 | } |
| 5650 | |
| 5651 | void log_message(const MessageData& mb) override { |
| 5652 | DOCTEST_LOCK_MUTEX(mutex) |
nothing calls this directly
no test coverage detected