You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.3 KiB
C
47 lines
1.3 KiB
C
/*============================================================================
|
|
* ET: embedded test; very simple test example
|
|
============================================================================*/
|
|
#include "div.h" /* Code Under Test (CUT) */
|
|
#include "et.h" /* ET: embedded test */
|
|
#include "dbc_assert.h" /* Design By Contract (DBC) assertions */
|
|
|
|
void setup(void) {
|
|
/* executed before *every* non-skipped test */
|
|
}
|
|
|
|
void teardown(void) {
|
|
/* executed after *every* non-skipped and non-failing test */
|
|
}
|
|
|
|
/* test group --------------------------------------------------------------*/
|
|
TEST_GROUP("Basic") {
|
|
|
|
TEST("CUT test (passing)") {
|
|
VERIFY(3 == div(9, 3));
|
|
VERIFY(3 == div(10, 3));
|
|
}
|
|
|
|
SKIP_TEST("test (skipped)") {
|
|
VERIFY(3 == 2*2); /* this would fail, but it's not checked */
|
|
}
|
|
|
|
TEST("CUT test (expected assertion)") {
|
|
ET_expect_assert("div", 100);
|
|
VERIFY(0 == div(2, 0)); /* <--- causes assertion, but succeeds */
|
|
}
|
|
|
|
/* this test follows an assert test and is NOT executed */
|
|
TEST("simple test (passing)") {
|
|
VERIFY(4 == 2*2);
|
|
}
|
|
|
|
} /* TEST_GROUP() */
|
|
|
|
/*..........................................................................*/
|
|
DBC_NORETURN
|
|
void DBC_fault_handler(char const * module, int label) {
|
|
VERIFY_ASSERT(module, label);
|
|
for (;;) { /* explicitly make it "noreturn" */
|
|
}
|
|
}
|