diff options
Diffstat (limited to 'libglusterfs/src/unittest')
-rw-r--r-- | libglusterfs/src/unittest/global_mock.c | 2 | ||||
-rw-r--r-- | libglusterfs/src/unittest/log_mock.c | 2 | ||||
-rw-r--r-- | libglusterfs/src/unittest/mem_pool_unittest.c | 45 | ||||
-rw-r--r-- | libglusterfs/src/unittest/unittest.h | 45 |
4 files changed, 73 insertions, 21 deletions
diff --git a/libglusterfs/src/unittest/global_mock.c b/libglusterfs/src/unittest/global_mock.c index b50638d1023..afdadc4e868 100644 --- a/libglusterfs/src/unittest/global_mock.c +++ b/libglusterfs/src/unittest/global_mock.c @@ -16,7 +16,7 @@ #include <setjmp.h> #include <inttypes.h> -#include <cmockery/cmockery.h> +#include <cmocka.h> xlator_t **__glusterfs_this_location () { diff --git a/libglusterfs/src/unittest/log_mock.c b/libglusterfs/src/unittest/log_mock.c index fec48bafc19..b35e03b3618 100644 --- a/libglusterfs/src/unittest/log_mock.c +++ b/libglusterfs/src/unittest/log_mock.c @@ -16,7 +16,7 @@ #include <setjmp.h> #include <inttypes.h> -#include <cmockery/cmockery.h> +#include <cmocka.h> int _gf_log (const char *domain, const char *file, const char *function, int32_t line, gf_loglevel_t level, diff --git a/libglusterfs/src/unittest/mem_pool_unittest.c b/libglusterfs/src/unittest/mem_pool_unittest.c index 0d7aa199df0..906ebb0a7f3 100644 --- a/libglusterfs/src/unittest/mem_pool_unittest.c +++ b/libglusterfs/src/unittest/mem_pool_unittest.c @@ -17,8 +17,15 @@ #include <setjmp.h> #include <inttypes.h> #include <string.h> -#include <cmockery/pbc.h> -#include <cmockery/cmockery.h> +#include <cmocka_pbc.h> +#include <cmocka.h> + +#ifndef assert_ptr_equal +#define assert_ptr_equal(a, b) \ + _assert_int_equal(cast_ptr_to_largest_integral_type(a), \ + cast_ptr_to_largest_integral_type(b), \ + __FILE__, __LINE__) +#endif /* * memory header for gf_mem_set_acct_info @@ -252,7 +259,7 @@ test_gf_calloc_mem_acct_enabled(void **state) xl->ctx->mem_acct_enable = 1; // For line mem-pool.c:115 and mem-pool:118 - will_always_return(__glusterfs_this_location, &xl); + will_return_always(__glusterfs_this_location, &xl); // Call __gf_calloc size = 1024; @@ -319,7 +326,7 @@ test_gf_malloc_mem_acct_enabled(void **state) xl->ctx->mem_acct_enable = 1; // For line mem-pool.c:115 and mem-pool:118 - will_always_return(__glusterfs_this_location, &xl); + will_return_always(__glusterfs_this_location, &xl); // Call __gf_malloc size = 1024; @@ -352,7 +359,7 @@ test_gf_realloc_default_realloc(void **state) // Initialize xl xl = helper_xlator_init(10); assert_int_equal(xl->ctx->mem_acct_enable, 0); - will_always_return(__glusterfs_this_location, &xl); + will_return_always(__glusterfs_this_location, &xl); // Call __gf_malloc then realloc size = 10; @@ -391,7 +398,7 @@ test_gf_realloc_mem_acct_enabled(void **state) xl->ctx->mem_acct_enable = 1; // For line mem-pool.c:115 and mem-pool:118 - will_always_return(__glusterfs_this_location, &xl); + will_return_always(__glusterfs_this_location, &xl); // Call __gf_malloc then realloc size = 1024; @@ -436,7 +443,7 @@ test_gf_realloc_ptr(void **state) assert_int_equal(xl->ctx->mem_acct_enable, 0); // For line mem-pool.c:115 and mem-pool:118 - will_always_return(__glusterfs_this_location, &xl); + will_return_always(__glusterfs_this_location, &xl); // Tests according to the manpage for realloc @@ -458,18 +465,18 @@ test_gf_realloc_ptr(void **state) } int main(void) { - const UnitTest tests[] = { - unit_test(test_gf_mem_acct_enable_set), - unit_test(test_gf_mem_set_acct_info_asserts), - unit_test(test_gf_mem_set_acct_info_memory), - unit_test(test_gf_calloc_default_calloc), - unit_test(test_gf_calloc_mem_acct_enabled), - unit_test(test_gf_malloc_default_malloc), - unit_test(test_gf_malloc_mem_acct_enabled), - unit_test(test_gf_realloc_default_realloc), - unit_test(test_gf_realloc_mem_acct_enabled), - unit_test(test_gf_realloc_ptr), + const struct CMUnitTest libglusterfs_mem_pool_tests[] = { + cmocka_unit_test(test_gf_mem_acct_enable_set), + cmocka_unit_test(test_gf_mem_set_acct_info_asserts), + cmocka_unit_test(test_gf_mem_set_acct_info_memory), + cmocka_unit_test(test_gf_calloc_default_calloc), + cmocka_unit_test(test_gf_calloc_mem_acct_enabled), + cmocka_unit_test(test_gf_malloc_default_malloc), + cmocka_unit_test(test_gf_malloc_mem_acct_enabled), + cmocka_unit_test(test_gf_realloc_default_realloc), + cmocka_unit_test(test_gf_realloc_mem_acct_enabled), + cmocka_unit_test(test_gf_realloc_ptr), }; - return run_tests(tests, "libglusterfs_mem_pool"); + return cmocka_run_group_tests(libglusterfs_mem_pool_tests, NULL, NULL); } diff --git a/libglusterfs/src/unittest/unittest.h b/libglusterfs/src/unittest/unittest.h new file mode 100644 index 00000000000..6320217db0d --- /dev/null +++ b/libglusterfs/src/unittest/unittest.h @@ -0,0 +1,45 @@ +/* + Copyright (c) 2015 Red Hat, Inc. <http://www.redhat.com> + This file is part of GlusterFS. + + This file is licensed to you under your choice of the GNU Lesser + General Public License, version 3 or any later version (LGPLv3 or + later), or the GNU General Public License, version 2 (GPLv2), in all + cases as published by the Free Software Foundation. +*/ + +#ifndef _GF_UNITTEST_H_ +#define _GF_UNITTEST_H_ + +#ifdef UNIT_TESTING +#include <stdarg.h> +#include <stddef.h> +#include <setjmp.h> +#include <cmocka_pbc.h> +#include <cmocka.h> + +extern void mock_assert(const int result, const char* const expression, + const char * const file, const int line); + +// Change GF_CALLOC and GF_FREE to use +// cmocka memory allocation versions +#ifdef UNIT_TESTING +#undef GF_CALLOC +#define GF_CALLOC(n, s, t) test_calloc(n, s) +#undef GF_FREE +#define GF_FREE test_free + +/* Catch intended assert()'s while unit-testing */ +extern void mock_assert(const int result, const char* const expression, + const char * const file, const int line); + +#undef assert +#define assert(expression) \ + mock_assert((int)(expression), #expression, __FILE__, __LINE__); +#endif +#else +#define REQUIRE(p) /**/ +#define ENSURE(p) /**/ +#endif + +#endif /* _GF_UNITTEST */ |