[tor-commits] [tor/master] Add support for mocking functions declared with attributes without causing gcc warnings

nickm at torproject.org nickm at torproject.org
Thu Jun 30 15:18:32 UTC 2016


commit 2154160a2484d852e4a0b509a5f046001d52fd11
Author: Andrea Shepard <andrea at torproject.org>
Date:   Thu Jun 30 05:35:46 2016 +0000

    Add support for mocking functions declared with attributes without causing gcc warnings
---
 src/common/testsupport.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/common/testsupport.h b/src/common/testsupport.h
index b98d701..9ad2ba7 100644
--- a/src/common/testsupport.h
+++ b/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





More information about the tor-commits mailing list