[SSSD] [PATCH] RFC: Unit test for the NSS responder based on the cmocka library
Sumit Bose
sbose at redhat.com
Wed Mar 6 20:33:12 UTC 2013
On Tue, Mar 05, 2013 at 05:25:45PM +0100, Jakub Hrozek wrote:
> On Fri, Mar 01, 2013 at 02:38:08PM +0100, Pavel Březina wrote:
>
> >
> > Create a macro for:
> > *body = (uint8_t *) mock() => mock_as(uint8_t*)
>
> OK, done.
>
> New tests attached.
Maybe you can consider the attached patch for inclusion as well? It will
silence a "cast to pointer from integer of different size
[-Wint-to-pointer-cast]" compiler warning.
What do you think of asking upstream if they would like to include
#define mock_type(type) ((type) mock())
and maybe
#define mock_ptr_type(type) ((type) (uintptr_t) mock())
or similar? To avoid conflicts I would recommend to add a prefix, e.g.
sss_mock_type and sss_mock_ptr_type.
bye,
Sumit
-------------- next part --------------
From f2f8bc9f9a9604c288830ed1dbde76449405f593 Mon Sep 17 00:00:00 2001
From: Sumit Bose <sbose at redhat.com>
Date: Wed, 6 Mar 2013 21:19:54 +0100
Subject: [PATCH] Fix for cast to pointer from integer of different size
---
src/tests/cmocka/common_mock.h | 1 +
src/tests/cmocka/common_mock_resp.c | 4 ++--
src/tests/cmocka/test_nss_srv.c | 4 ++--
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/tests/cmocka/common_mock.h b/src/tests/cmocka/common_mock.h
index fdce3aa..d8a458c 100644
--- a/src/tests/cmocka/common_mock.h
+++ b/src/tests/cmocka/common_mock.h
@@ -44,6 +44,7 @@
#include "tests/common.h"
#define mock_type(type) ((type) mock())
+#define mock_ptr_type(type) ((type) (uintptr_t) mock())
#endif /* __COMMON_MOCK_H_ */
diff --git a/src/tests/cmocka/common_mock_resp.c b/src/tests/cmocka/common_mock_resp.c
index 9700267..6e4cb64 100644
--- a/src/tests/cmocka/common_mock_resp.c
+++ b/src/tests/cmocka/common_mock_resp.c
@@ -97,9 +97,9 @@ sss_dp_get_account_recv(TALLOC_CTX *mem_ctx,
*dp_ret = mock_type(dbus_uint32_t);
*dp_ret = mock_type(dbus_uint32_t);
- cb = mock_type(acct_cb_t);
+ cb = mock_ptr_type(acct_cb_t);
if (cb) {
- (cb)(mock_type(void *));
+ (cb)(mock_ptr_type(void *));
}
return test_request_recv(req);
diff --git a/src/tests/cmocka/test_nss_srv.c b/src/tests/cmocka/test_nss_srv.c
index 1a1317d..862b39f 100644
--- a/src/tests/cmocka/test_nss_srv.c
+++ b/src/tests/cmocka/test_nss_srv.c
@@ -87,7 +87,7 @@ void __wrap_sss_packet_get_body(struct sss_packet *packet,
return __real_sss_packet_get_body(packet, body, blen);
}
- *body = mock_type(uint8_t *);
+ *body = mock_ptr_type(uint8_t *);
*blen = strlen((const char *) *body)+1;
return;
}
@@ -107,7 +107,7 @@ void __wrap_sss_cmd_done(struct cli_ctx *cctx, void *freectx)
size_t blen;
cmd_cb_fn_t check_cb;
- check_cb = mock_type(cmd_cb_fn_t);
+ check_cb = mock_ptr_type(cmd_cb_fn_t);
__real_sss_packet_get_body(packet, &body, &blen);
--
1.7.7.6
More information about the sssd-devel
mailing list