26 * POSSIBILITY OF SUCH DAMAGE. |
26 * POSSIBILITY OF SUCH DAMAGE. |
27 */ |
27 */ |
28 |
28 |
29 #include "cx/allocator.h" |
29 #include "cx/allocator.h" |
30 #include "test_config.h" |
30 #include "test_config.h" |
|
31 #include <errno.h> |
31 |
32 |
32 void test_default_allocator_available(void) { |
33 void test_default_allocator_available(void) { |
33 cx_allocator_class *clazz = cxDefaultAllocator->cl; |
34 cx_allocator_class *clazz = cxDefaultAllocator->cl; |
34 CU_ASSERT_PTR_NOT_NULL(clazz) |
35 CU_ASSERT_PTR_NOT_NULL(clazz) |
35 } |
36 } |
40 free(test); |
41 free(test); |
41 } |
42 } |
42 |
43 |
43 void test_default_realloc(void) { |
44 void test_default_realloc(void) { |
44 void *test = calloc(8, 1); |
45 void *test = calloc(8, 1); |
45 memcpy(test, "Test", 4); |
46 memcpy(test, "Test", 5); |
46 test = cxRealloc(cxDefaultAllocator, test, 16); |
47 test = cxRealloc(cxDefaultAllocator, test, 16); |
47 CU_ASSERT_PTR_NOT_NULL(test) |
48 CU_ASSERT_PTR_NOT_NULL(test) |
48 CU_ASSERT_STRING_EQUAL("Test", test) |
49 CU_ASSERT_STRING_EQUAL("Test", test) |
49 free(test); |
50 free(test); |
50 } |
51 } |
51 |
52 |
52 void test_default_reallocate(void) { |
53 void test_default_reallocate(void) { |
53 void *test = calloc(8, 1); |
54 void *test = calloc(8, 1); |
54 memcpy(test, "Test", 4); |
55 memcpy(test, "Test", 5); |
55 int rval = cxReallocate(cxDefaultAllocator, &test, 16); |
56 int rval = cxReallocate(cxDefaultAllocator, &test, 16); |
56 CU_ASSERT_EQUAL(rval, 0); |
57 CU_ASSERT_EQUAL(rval, 0); |
57 CU_ASSERT_PTR_NOT_NULL(test) |
58 CU_ASSERT_PTR_NOT_NULL(test) |
58 CU_ASSERT_STRING_EQUAL("Test", test) |
59 CU_ASSERT_STRING_EQUAL("Test", test) |
59 free(test); |
60 free(test); |
60 } |
61 } |
61 |
62 |
62 void test_reallocate_null(void) { |
63 void test_reallocate_null(void) { |
63 int rval = cxReallocate(cxDefaultAllocator, NULL, 16); |
64 int rval = cxReallocate(cxDefaultAllocator, NULL, 16); |
64 CU_ASSERT_EQUAL(rval, EINVAL); |
65 CU_ASSERT_NOT_EQUAL(rval, 0); |
|
66 CU_ASSERT_EQUAL(errno, EINVAL); |
65 } |
67 } |
66 |
68 |
67 void test_default_calloc(void) { |
69 void test_default_calloc(void) { |
68 void *test = cxCalloc(cxDefaultAllocator, 8, 2); |
70 void *test = cxCalloc(cxDefaultAllocator, 8, 2); |
69 CU_ASSERT_PTR_NOT_NULL(test) |
71 CU_ASSERT_PTR_NOT_NULL(test) |
92 if ( |
94 if ( |
93 !CU_add_test(suite, "default allocator available", test_default_allocator_available) || |
95 !CU_add_test(suite, "default allocator available", test_default_allocator_available) || |
94 !CU_add_test(suite, "test of malloc()", test_default_malloc)|| |
96 !CU_add_test(suite, "test of malloc()", test_default_malloc)|| |
95 !CU_add_test(suite, "test of realloc()", test_default_realloc) || |
97 !CU_add_test(suite, "test of realloc()", test_default_realloc) || |
96 !CU_add_test(suite, "test of realloc() via cxReallocate", test_default_reallocate) || |
98 !CU_add_test(suite, "test of realloc() via cxReallocate", test_default_reallocate) || |
97 !CU_add_test(suite, "test of cxReallocate with NULL", test_default_reallocate) || |
99 !CU_add_test(suite, "test of cxReallocate with NULL", test_reallocate_null) || |
98 !CU_add_test(suite, "test of calloc()", test_default_calloc) || |
100 !CU_add_test(suite, "test of calloc()", test_default_calloc) || |
99 !CU_add_test(suite, "test of free()", test_default_free) |
101 !CU_add_test(suite, "test of free()", test_default_free) |
100 ) { |
102 ) { |
101 CU_cleanup_registry(); |
103 CU_cleanup_registry(); |
102 return CU_get_error(); |
104 return CU_get_error(); |