| #include "absl/base/internal/exception_safety_testing.h" |
| |
| #include "gtest/gtest.h" |
| #include "absl/meta/type_traits.h" |
| |
| namespace absl { |
| exceptions_internal::NoThrowTag no_throw_ctor; |
| namespace exceptions_internal { |
| |
| int countdown = -1; |
| |
| void MaybeThrow(absl::string_view msg) { |
| if (countdown-- == 0) throw TestException(msg); |
| } |
| |
| testing::AssertionResult FailureMessage(const TestException& e, |
| int countdown) noexcept { |
| return testing::AssertionFailure() << "Exception thrown from " << e.what(); |
| } |
| } // namespace exceptions_internal |
| } // namespace absl |