about summary refs log tree commit diff
path: root/absl/base/throw_delegate_test.cc
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2019-08-30T19·03-0400
committerGennadiy Civil <misterg@google.com>2019-08-30T19·38-0400
commit1948f6f967e34db9793cfa8b4bcbaf370d039fd8 (patch)
treeb29287f3d7f35dca5042dfea5a3dac857303b841 /absl/base/throw_delegate_test.cc
parenta0d1e098c2f99694fa399b175a7ccf920762030e (diff)
Export of internal Abseil changes
--
bc74316103bbda92541896f588f71c9d45bea768 by Gennadiy Civil <misterg@google.com>:

Manually fixing the BUILD.bazel files

--
d41bf9ea916a0dc8c69e6ba77f58f9d55649880e by Shaindel Schwartz <shaindel@google.com>:

Minor cleanup to miscellaneous BUILD files.

PiperOrigin-RevId: 266420157

--
08a8dc2cbd48d27e1115809f9ca8d178551cd66e by Gennadiy Civil <misterg@google.com>:

Internal Change
BEGIN_PUBLIC
Internal Change
END_PUBLIC

--
8617d58fde1ece40e4aa79eaa5e250b42d19835f by Shaindel Schwartz <shaindel@google.com>:

Internal Change
BEGIN_PUBLIC
Internal Change
END_PUBLIC

--
3a0fc7d48bdc70c4f7dffc219578693dea84eb2d by Derek Mauro <dmauro@google.com>:

Implement absl::string_view::at()

PiperOrigin-RevId: 266024644

--
ba53a9da8ede8fe7b8971eaab6b3a1fa34763ff6 by Andy Soffer <asoffer@google.com>:

Remove forcing of optimization levels in MSVC.

PiperOrigin-RevId: 265927588

--
df86f2046b54bba7da2e345040806d43470de5c0 by Shaindel Schwartz <shaindel@google.com>:

Internal change

PiperOrigin-RevId: 265811077

--
e2e3a6e8194363e7c6377672560c806d638a7c74 by Derek Mauro <dmauro@google.com>:

Remove ABI unsafe mixed exceptions mode compilation.
Testing will now be done on CI with the exceptions flag set globally.

PiperOrigin-RevId: 265796079
GitOrigin-RevId: bc74316103bbda92541896f588f71c9d45bea768
Change-Id: Ibccd00f4829520454aa55c4f55c7cb2dc9c6b65a
Diffstat (limited to 'absl/base/throw_delegate_test.cc')
-rw-r--r--absl/base/throw_delegate_test.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/absl/base/throw_delegate_test.cc b/absl/base/throw_delegate_test.cc
index a74dd3cda695..5ba4ce55e6d5 100644
--- a/absl/base/throw_delegate_test.cc
+++ b/absl/base/throw_delegate_test.cc
@@ -18,6 +18,7 @@
 #include <new>
 #include <stdexcept>
 
+#include "absl/base/config.h"
 #include "gtest/gtest.h"
 
 namespace {
@@ -38,31 +39,43 @@ constexpr const char* what_arg = "The quick brown fox jumps over the lazy dog";
 
 template <typename E>
 void ExpectThrowChar(void (*f)(const char*)) {
+#ifdef ABSL_HAVE_EXCEPTIONS
   try {
     f(what_arg);
     FAIL() << "Didn't throw";
   } catch (const E& e) {
     EXPECT_STREQ(e.what(), what_arg);
   }
+#else
+  EXPECT_DEATH_IF_SUPPORTED(f(what_arg), what_arg);
+#endif
 }
 
 template <typename E>
 void ExpectThrowString(void (*f)(const std::string&)) {
+#ifdef ABSL_HAVE_EXCEPTIONS
   try {
     f(what_arg);
     FAIL() << "Didn't throw";
   } catch (const E& e) {
     EXPECT_STREQ(e.what(), what_arg);
   }
+#else
+  EXPECT_DEATH_IF_SUPPORTED(f(what_arg), what_arg);
+#endif
 }
 
 template <typename E>
 void ExpectThrowNoWhat(void (*f)()) {
+#ifdef ABSL_HAVE_EXCEPTIONS
   try {
     f();
     FAIL() << "Didn't throw";
   } catch (const E& e) {
   }
+#else
+  EXPECT_DEATH_IF_SUPPORTED(f(), "");
+#endif
 }
 
 TEST(ThrowHelper, Test) {