1234567891011121314151617181920212223242526272829303132333435363738 |
- #include "test/jemalloc_test.h"
- static bool hook_called = false;
- static void
- hook() {
- hook_called = true;
- }
- static int
- func_to_hook(int arg1, int arg2) {
- return arg1 + arg2;
- }
- #define func_to_hook JEMALLOC_HOOK(func_to_hook, hooks_libc_hook)
- TEST_BEGIN(unhooked_call) {
- hooks_libc_hook = NULL;
- hook_called = false;
- assert_d_eq(3, func_to_hook(1, 2), "Hooking changed return value.");
- assert_false(hook_called, "Nulling out hook didn't take.");
- }
- TEST_END
- TEST_BEGIN(hooked_call) {
- hooks_libc_hook = &hook;
- hook_called = false;
- assert_d_eq(3, func_to_hook(1, 2), "Hooking changed return value.");
- assert_true(hook_called, "Hook should have executed.");
- }
- TEST_END
- int
- main(void) {
- return test(
- unhooked_call,
- hooked_call);
- }
|