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
This commit is contained in:
parent
a0d1e098c2
commit
1948f6f967
31 changed files with 132 additions and 304 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue