Browse Source

Add support for mocking functions declared with attributes without causing gcc warnings

Andrea Shepard 7 years ago
parent
commit
2154160a24
1 changed files with 8 additions and 0 deletions
  1. 8 0
      src/common/testsupport.h

+ 8 - 0
src/common/testsupport.h

@@ -62,6 +62,12 @@
 #define MOCK_IMPL(rv, funcname, arglist)     \
   rv(*funcname) arglist = funcname ##__real; \
   rv funcname ##__real arglist
+#define MOCK_DECL_ATTR(rv, funcname, arglist, attr) \
+  rv funcname ##__real arglist attr;                \
+  extern rv(*funcname) arglist
+#define MOCK_IMPL(rv, funcname, arglist)     \
+  rv(*funcname) arglist = funcname ##__real; \
+  rv funcname ##__real arglist
 #define MOCK(func, replacement)                 \
   do {                                          \
     (func) = (replacement);                     \
@@ -73,6 +79,8 @@
 #else
 #define MOCK_DECL(rv, funcname, arglist) \
   rv funcname arglist
+#define MOCK_DECL_ATTR(rv, funcname, arglist, attr) \
+  rv funcname arglist attr
 #define MOCK_IMPL(rv, funcname, arglist) \
   rv funcname arglist
 #endif