diff options
Diffstat (limited to 'src/lib/netlist/plib/ptests.h')
-rw-r--r-- | src/lib/netlist/plib/ptests.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/netlist/plib/ptests.h b/src/lib/netlist/plib/ptests.h index e0faaf99bbb..613fac8133f 100644 --- a/src/lib/netlist/plib/ptests.h +++ b/src/lib/netlist/plib/ptests.h @@ -31,6 +31,7 @@ #define PEXPECT_FALSE(exp1) PINT_EXPECT(eq, exp1, false) #define PEXPECT_THROW(exp, excep) PINT_EXPECT_THROW(exp, excep) +#define PEXPECT_NO_THROW(exp) PINT_EXPECT_NO_THROW(exp) #define PTEST(name, desc) PINT_TEST(name, desc) #define PTEST_F(name, desc) PINT_TEST_F(name, desc, name) @@ -61,6 +62,14 @@ catch (...) { std::cout << ptest_f << ":" << __LINE__ << ":1: error: unexpected exception thrown\n"; } \ } else do {} while (0) +#define PINT_EXPECT_NO_THROW(exp) \ + if (const char *ptest_f = __FILE__) \ + { \ + try { exp; std::cout << "\tOK: got no exception for " # exp "\n";} \ + catch (std::exception &ptest_e) { std::cout << ptest_f << ":" << __LINE__ << ":1: error: unexpected exception thrown: " << ptest_e.what() << "\n"; } \ + catch (...) { std::cout << ptest_f << ":" << __LINE__ << ":1: error: unexpected exception thrown\n"; } \ + } else do {} while (0) + namespace plib { namespace testing |