[sheepdog] [PATCH v2 3/4] tests/unit: use MOCK_METHOD when define mock method
Kai Zhang
kyle at zelin.io
Wed Jul 10 14:02:47 CEST 2013
Signed-off-by: Kai Zhang <kyle at zelin.io>
---
tests/unit/collie/Makefile.am | 3 ++-
tests/unit/collie/mock_collie.c | 12 +++---------
tests/unit/sheep/Makefile.am | 4 +++-
tests/unit/sheep/mock_request.c | 12 +++---------
tests/unit/sheep/mock_store.c | 32 ++++++++++----------------------
5 files changed, 21 insertions(+), 42 deletions(-)
diff --git a/tests/unit/collie/Makefile.am b/tests/unit/collie/Makefile.am
index 2471aa1..404bc66 100644
--- a/tests/unit/collie/Makefile.am
+++ b/tests/unit/collie/Makefile.am
@@ -7,10 +7,11 @@ check_PROGRAMS = ${TESTS}
INCLUDES = -I$(top_srcdir)/include \
-I$(top_srcdir)/collie \
-I$(top_srcdir)/collie/farm \
+ -I../mock \
@CHECK_CFLAGS@
LIBS = $(top_srcdir)/lib/libsheepdog.a -lpthread \
- @CHECK_LIBS@
+ ../mock/libmock.a @CHECK_LIBS@
test_common_SOURCES = test_common.c mock_collie.c \
$(top_srcdir)/collie/common.c
diff --git a/tests/unit/collie/mock_collie.c b/tests/unit/collie/mock_collie.c
index 1f9ce35..c66d730 100644
--- a/tests/unit/collie/mock_collie.c
+++ b/tests/unit/collie/mock_collie.c
@@ -12,6 +12,7 @@
*/
#include "collie.h"
+#include "mock.h"
/* collie mock */
const char *sdhost = "127.0.0.1";
@@ -20,12 +21,5 @@ bool highlight = true;
bool raw_output;
struct sd_vnode sd_vnodes[SD_MAX_VNODES];
-int update_node_list(int max_nodes)
-{
- return 0;
-}
-
-void subcommand_usage(char *cmd, char *subcmd, int status)
-{
- return;
-}
+MOCK_METHOD(update_node_list, int, 0, int max_nodes)
+MOCK_VOID_METHOD(subcommand_usage, char *cmd, char *subcmd, int status)
diff --git a/tests/unit/sheep/Makefile.am b/tests/unit/sheep/Makefile.am
index 651470a..1cc3988 100644
--- a/tests/unit/sheep/Makefile.am
+++ b/tests/unit/sheep/Makefile.am
@@ -6,9 +6,11 @@ check_PROGRAMS = ${TESTS}
INCLUDES = -I$(top_srcdir)/include \
-I$(top_srcdir)/sheep \
+ -I../mock \
@CHECK_CFLAGS@
-LIBS = $(top_srcdir)/lib/libsheepdog.a -lpthread \
+LIBS = $(top_srcdir)/lib/libsheepdog.a \
+ ../mock/libmock.a -lpthread \
@CHECK_LIBS@
test_vdi_SOURCES = test_vdi.c mock_sheep.c mock_store.c \
diff --git a/tests/unit/sheep/mock_request.c b/tests/unit/sheep/mock_request.c
index c37ab30..bd7c2b7 100644
--- a/tests/unit/sheep/mock_request.c
+++ b/tests/unit/sheep/mock_request.c
@@ -11,14 +11,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "mock.h"
#include "sheep_priv.h"
-int exec_local_req(struct sd_req *rq, void *data)
-{
- return 0;
-}
-
-void put_request(struct request *req)
-{
- return;
-}
+MOCK_METHOD(exec_local_req, int, 0, struct sd_req *rq, void *data)
+MOCK_VOID_METHOD(put_request, struct request *req)
diff --git a/tests/unit/sheep/mock_store.c b/tests/unit/sheep/mock_store.c
index e9a2901..fe6c0d9 100644
--- a/tests/unit/sheep/mock_store.c
+++ b/tests/unit/sheep/mock_store.c
@@ -11,27 +11,15 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "mock.h"
#include "sheep_priv.h"
-int read_object(uint64_t oid, char *data, unsigned int datalen,
- uint64_t offset)
-{
- return 0;
-}
-
-int write_object(uint64_t oid, char *data, unsigned int datalen,
- uint64_t offset, bool create)
-{
- return 0;
-}
-
-int read_backend_object(uint64_t oid, char *data, unsigned int datalen,
- uint64_t offset)
-{
- return 0;
-}
-
-int remove_object(uint64_t oid)
-{
- return 0;
-}
+MOCK_METHOD(read_object, int, 0,
+ uint64_t oid, char *data, unsigned int datalen, uint64_t offset)
+MOCK_METHOD(write_object, int, 0,
+ uint64_t oid, char *data, unsigned int datalen, uint64_t offset,
+ bool create)
+MOCK_METHOD(read_backend_object, int, 0,
+ uint64_t oid, char *data, unsigned int datalen, uint64_t offset)
+MOCK_METHOD(remove_object, int, 0,
+ uint64_t oid)
--
1.7.9.5
More information about the sheepdog
mailing list