Loading...
Searching...
No Matches
Go to the documentation of this file.
10#if defined ENABLE_MOCKING
11 #define DC_MOCKABLE_REAL(name) __real_##name
12 #define DC_MOCKABLE_SET(name) __mock_set_##name
13 #define DC_MOCKABLE_TYPE(name) __type_##name
25 #define DC_MOCKABLE_DECLARE(ret, name, args) \
26 typedef ret(*DC_MOCKABLE_TYPE(name)) args; \
27 extern DC_MOCKABLE_TYPE(name) name; \
28 void DC_MOCKABLE_SET(name)(DC_MOCKABLE_TYPE(name) func); \
29 ret DC_MOCKABLE_REAL(name) args
31 #define DC_MOCKABLE_DEFINE(ret, name, args) \
32 DC_MOCKABLE_TYPE(name) name = DC_MOCKABLE_REAL(name); \
33 void DC_MOCKABLE_SET(name)(DC_MOCKABLE_TYPE(name) func) { name = func; } \
34 ret DC_MOCKABLE_REAL(name) args
36 #define DC_MOCKABLE_ENABLED(name) (name != DC_MOCKABLE_REAL(name))
38 #define DC_MOCKABLE_DECLARE(ret, name, args) DC_PUBLIC ret name args
39 #define DC_MOCKABLE_DEFINE(ret, name, args) DC_PUBLIC ret name args
40 #define DC_MOCKABLE_ENABLED(name) false
44#define DC_MOCKABLE(ret, name, args) \
45 DC_MOCKABLE_DECLARE(ret, name, args); \
46 DC_MOCKABLE_DEFINE(ret, name, args)