Попытка подделать `abort` с помощью CMocka и`gcc -Wl,wrap...`
Я строю юнит-тесты с CMocka. Моя функция char some_func(some_enum e)
карты действительные значения e
к 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
,
Что я пытаюсь сделать возможным?