summaryrefslogtreecommitdiff
path: root/Homework/cs3460/rands/build/_deps/fmt-src/test/test-assert.h
diff options
context:
space:
mode:
authorElizabeth Alexander Hunt <me@liz.coffee>2026-07-02 11:55:17 -0700
committerElizabeth Alexander Hunt <me@liz.coffee>2026-07-02 11:55:17 -0700
commit6bf4b90c90f15f4ab60833bddf5b5756d1a6b1f6 (patch)
treeed97e39ec77c5231ffd2c394493e68d00ddac5a4 /Homework/cs3460/rands/build/_deps/fmt-src/test/test-assert.h
downloadmisc-undergrad-6bf4b90c90f15f4ab60833bddf5b5756d1a6b1f6.tar.gz
misc-undergrad-6bf4b90c90f15f4ab60833bddf5b5756d1a6b1f6.zip
Diffstat (limited to 'Homework/cs3460/rands/build/_deps/fmt-src/test/test-assert.h')
-rw-r--r--Homework/cs3460/rands/build/_deps/fmt-src/test/test-assert.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/Homework/cs3460/rands/build/_deps/fmt-src/test/test-assert.h b/Homework/cs3460/rands/build/_deps/fmt-src/test/test-assert.h
new file mode 100644
index 0000000..ab7b2bf
--- /dev/null
+++ b/Homework/cs3460/rands/build/_deps/fmt-src/test/test-assert.h
@@ -0,0 +1,39 @@
+// Formatting library for C++ - test version of FMT_ASSERT
+//
+// Copyright (c) 2012 - present, Victor Zverovich
+// All rights reserved.
+//
+// For the license information refer to format.h.
+
+#ifndef FMT_TEST_ASSERT_H_
+#define FMT_TEST_ASSERT_H_
+
+#include <stdexcept>
+
+void throw_assertion_failure(const char* message);
+#define FMT_ASSERT(condition, message) \
+ if (!(condition)) throw_assertion_failure(message);
+
+#include "gtest/gtest.h"
+
+class assertion_failure : public std::logic_error {
+ public:
+ explicit assertion_failure(const char* message) : std::logic_error(message) {}
+
+ private:
+ virtual void avoid_weak_vtable();
+};
+
+void assertion_failure::avoid_weak_vtable() {}
+
+// We use a separate function (rather than throw directly from FMT_ASSERT) to
+// avoid GCC's -Wterminate warning when FMT_ASSERT is used in a destructor.
+inline void throw_assertion_failure(const char* message) {
+ throw assertion_failure(message);
+}
+
+// Expects an assertion failure.
+#define EXPECT_ASSERT(stmt, message) \
+ FMT_TEST_THROW_(stmt, assertion_failure, message, GTEST_NONFATAL_FAILURE_)
+
+#endif // FMT_TEST_ASSERT_H_