| 123456789101112131415161718192021222324252627282930313233 |
- /*
- * This header defines an implementation of the OPENER_ASSERT macro that
- * can be used with Cpputest unit tests to confirm an assertion fails
- * under given conditions. It is conditionally included in the application
- * code when unit tests are enabled through the Cmake configuration; it should
- * not be included in the Cpputest unit test code.
- *
- * The intent is to create an assertion implementation that both immediately
- * stops execution after an assertion failure, as should normally be the
- * case, and is detectable from the unit test code. This is accomplished via
- * setjmp() and longjmp(), approximating the behavior of a C++ exception,
- * where an OPENER_ASSERTION failure results in a longjmp() back to the
- * unit test code, which then verifies that an assertion failure occurred.
- */
- #ifndef OPENER_TEST_ASSERT_H
- #define OPENER_TEST_ASSERT_H
- /*
- * Define the OPENER_ASSERT macro to call the unit test assertion verification
- * function. The surrounding do/while loop serves to insulate the if statement
- * from any surrounding if statements.
- */
- #define OPENER_ASSERT(assertion) \
- do {if ( !(assertion) ) test_assert_fail(__FILE__, __LINE__);} while (0)
- /* Function Prototypes */
- extern void test_assert_fail(const char *const file,
- const unsigned int line);
- #endif /* OPENER_TEST_ASSERT_H */
|