10 void foo_invariant (struct foo
* self
, int depth
, const char* file
, int line
, const char* func
)
14 INVARIANT_ASSERT(self
->b
!= 8);
17 foo_invariant (self
->bar
, depth
-1, file
, line
, func
);
20 void nobug_foo_dump (const struct foo
* self
, const int depth
, const char* file
, const int line
, const char* func
)
24 DUMP_LOG("dump b is %d", self
->b
);
26 nobug_foo_dump (self
->bar
, depth
-1, file
, line
, func
);
30 NOBUG_DEFINE_FLAG(all
);
31 NOBUG_DEFINE_FLAG_PARENT(test
, all
);
38 NOBUG_INIT_FLAG(test
);
44 ECHO ("testing %d", c
);
46 #if NOBUG_MODE_RELEASE == 0
58 REQUIRE (c
!= 2, "require %d failed", c
);
68 ENSURE(c
!= 4, "ensure %d failed", c
);
78 ASSERT(c
!= 6, "assert %d failed", c
);
92 INVARIANT(foo
, &f
, 2);
102 DUMP(test
, foo
, &f
, 2);
106 #if NOBUG_MODE_RELEASE == 0
109 UNIMPLEMENTED("this is unimplemented");
115 PLANNED("this is planned");
118 #if NOBUG_MODE_ALPHA == 1
121 FIXME("here is a bug");
125 #if NOBUG_MODE_RELEASE == 0
128 TODO("something todo");