1

我正在使用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.

我正在尝试的甚至可能吗?

4

0 回答 0