我正在使用CMocka构建单元测试。我的函数char some_func(some_enum e)
将 的有效值映射e
到 a char
。它用于assert
检查e
是否有效,根据定义调用abort
是否有效。
事实证明,嘲讽abort
很难。遵循这个例子并构建一个函数......
static volatile abort_calls = 0;
void
__wrap_abort(void)
{
fprintf(stderr, "Call to __wrap_abort()\n");
abort_calls++;
}
static void
test_some_func(void **state)
{
some_func( (some_enum)99);
assert_int_equal(1, abort_calls);
}
..编译时-Wl,--wrap=abort
没有任何抱怨。但是,执行时它不会调用__wrap_abort
.
我正在尝试的甚至可能吗?