#include "gtest/gtest.h" #include "utils/exceptions.hpp" void i_will_throw() { throw utils::BasicException("this is not ok"); } void bar() { i_will_throw(); } void foo() { bar(); } void i_will_throw_stacktrace_exception() { throw utils::StacktraceException("this is not {}", "ok!"); } void bar_stacktrace() { i_will_throw_stacktrace_exception(); } void foo_stacktrace() { bar_stacktrace(); } TEST(ExceptionsTest, ThrowBasicAndStackExceptions) { ASSERT_THROW(foo(), utils::BasicException); ASSERT_THROW(foo_stacktrace(), utils::StacktraceException); } int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }