summaryrefslogtreecommitdiff
path: root/test/pkbktarr.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/pkbktarr.c')
-rw-r--r--test/pkbktarr.c469
1 files changed, 256 insertions, 213 deletions
diff --git a/test/pkbktarr.c b/test/pkbktarr.c
index 1b89b53..da8d888 100644
--- a/test/pkbktarr.c
+++ b/test/pkbktarr.c
@@ -4,6 +4,9 @@
#define PK_IMPL_MEM
#define PK_IMPL_BKTARR
#include "../pkbktarr.h"
+#define PK_IMPL_TST
+#include "../pktst.h"
+
#include <setjmp.h>
#include <unistd.h>
@@ -71,9 +74,12 @@ int main(int argc, char *argv[])
handles[b][i].i = i;
}
}
- if (v = pk_bkt_arr_handle_compare(handles[0][0], handles[0][0]), v != 0) exit(1);
- if (v = pk_bkt_arr_handle_compare(handles[1][0], handles[1][1]), v <= 0) exit(1);
- if (v = pk_bkt_arr_handle_compare(handles[1][1], handles[1][0]), v >= 0) exit(1);
+ v = pk_bkt_arr_handle_compare(handles[0][0], handles[0][0]);
+ PK_TEST_ASSERT_EQ_EXIT((int)0, v);
+ v = pk_bkt_arr_handle_compare(handles[1][0], handles[1][1]);
+ PK_TEST_ASSERT_LTE_EXIT((int)0, v);
+ v = pk_bkt_arr_handle_compare(handles[1][1], handles[1][0]);
+ PK_TEST_ASSERT_GTE_EXIT((int)0, v);
}
// test ancillary 2
@@ -85,25 +91,39 @@ int main(int argc, char *argv[])
h1.b = 0;
h1.i = 0;
- if (h2 = pk_bkt_arr_handle_increment(&arr, h1), h2.b != 0 || h2.i != 1) exit(1);
+ h2 = pk_bkt_arr_handle_increment(&arr, h1);
+ PK_TEST_ASSERT_EQ_EXIT(0, h2.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, h2.i);
h1.b = 1;
h1.i = 1;
- if (h2 = pk_bkt_arr_handle_increment(&arr, h1), h2.b != 1 || h2.i != 2) exit(1);
+ h2 = pk_bkt_arr_handle_increment(&arr, h1);
+ PK_TEST_ASSERT_EQ_EXIT(1, h2.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, h2.i);
h1.b = 1;
h1.i = 2;
- if (h2 = pk_bkt_arr_handle_increment(&arr, h1), h2.b != 2 || h2.i != 0) exit(1);
+ h2 = pk_bkt_arr_handle_increment(&arr, h1);
+ PK_TEST_ASSERT_EQ_EXIT(2, h2.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, h2.i);
h1.b = 2;
h1.i = 2;
- if (h2 = pk_bkt_arr_handle_increment(&arr, h1), h2.b != 2 || h2.i != 2) exit(1);
+ h2 = pk_bkt_arr_handle_increment(&arr, h1);
+ PK_TEST_ASSERT_EQ_EXIT(2, h2.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, h2.i);
h1.b = 0;
h1.i = 0;
- if (h2 = pk_bkt_arr_handle_decrement(&arr, h1), h2.b != 0 || h2.i != 0) exit(1);
+ h2 = pk_bkt_arr_handle_decrement(&arr, h1);
+ PK_TEST_ASSERT_EQ_EXIT(0, h2.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, h2.i);
h1.b = 2;
h1.i = 2;
- if (h2 = pk_bkt_arr_handle_decrement(&arr, h1), h2.b != 2 || h2.i != 1) exit(1);
+ h2 = pk_bkt_arr_handle_decrement(&arr, h1);
+ PK_TEST_ASSERT_EQ_EXIT(2, h2.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, h2.i);
h1.b = 2;
h1.i = 0;
- if (h2 = pk_bkt_arr_handle_decrement(&arr, h1), h2.b != 1 || h2.i != 2) exit(1);
+ h2 = pk_bkt_arr_handle_decrement(&arr, h1);
+ PK_TEST_ASSERT_EQ_EXIT(1, h2.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, h2.i);
}
// test it works
@@ -115,26 +135,30 @@ int main(int argc, char *argv[])
pk_bkt_arr_init(&arr, sizeof(int), alignof(int), pk_bkt_arr_handle_MAX, bkt_buckets, bkt_data);
struct pk_bkt_arr_handle h = pk_bkt_arr_new_handle(&arr);
- if (h.b != 0) exit(1);
- if (h.i != 0) exit(1);
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != 1) exit(1);
- if (arr.head_r.b != 0) exit(1);
- if (arr.head_r.i != 1) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 1) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, h.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, h.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(1, bkt_data->alloc_count);
+#endif
pk_bkt_arr_free_handle(&arr, h);
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != 0) exit(1);
- if (arr.head_r.b != 0) exit(1);
- if (arr.head_r.i != 1) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 1) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(1, bkt_data->alloc_count);
+#endif
pk_bkt_arr_teardown(&arr);
- if (bkt_buckets->alloc_count != 0) exit(1);
- if (bkt_data->alloc_count != 0) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(0, bkt_data->alloc_count);
}
test_teardown(&bkt_buckets, &bkt_data);
@@ -147,36 +171,42 @@ int main(int argc, char *argv[])
pk_bkt_arr_init(&arr, sizeof(int), alignof(int), pk_bkt_arr_handle_MAX, bkt_buckets, bkt_data);
struct pk_bkt_arr_handle h = pk_bkt_arr_new_handle(&arr);
- if (h.b != 0) exit(1);
- if (h.i != 0) exit(1);
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != 1) exit(1);
- if (arr.head_r.b != 0) exit(1);
- if (arr.head_r.i != 1) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 1) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, h.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, h.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(1, bkt_data->alloc_count);
+#endif
pk_bkt_arr_clear(&arr);
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != 0) exit(1);
- if (arr.head_r.b != 0) exit(1);
- if (arr.head_r.i != 0) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 1) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(1, bkt_data->alloc_count);
+#endif
h = pk_bkt_arr_new_handle(&arr);
- if (h.b != 0) exit(1);
- if (h.i != 0) exit(1);
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != 1) exit(1);
- if (arr.head_r.b != 0) exit(1);
- if (arr.head_r.i != 1) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 1) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, h.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, h.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(1, bkt_data->alloc_count);
+#endif
pk_bkt_arr_teardown(&arr);
- if (bkt_buckets->alloc_count != 0) exit(1);
- if (bkt_data->alloc_count != 0) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(0, bkt_data->alloc_count);
}
test_teardown(&bkt_buckets, &bkt_data);
@@ -189,23 +219,25 @@ int main(int argc, char *argv[])
pk_bkt_arr_init(&arr, sizeof(int), alignof(int), pk_bkt_arr_handle_MAX, bkt_buckets, bkt_data);
struct pk_bkt_arr_handle h = pk_bkt_arr_new_handle(&arr);
- if (h.b != 0) exit(1);
- if (h.i != 0) exit(1);
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != 1) exit(1);
- if (arr.head_r.b != 0) exit(1);
- if (arr.head_r.i != 1) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 1) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, h.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, h.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(1, bkt_data->alloc_count);
+#endif
int val = 69;
((int**)arr.bucketed_data)[h.b][h.i] = val;
struct pk_bkt_arr_handle found_h = pk_bkt_arr_find_first_handle(&arr, find_int_val, NULL, &val);
- if (pk_bkt_arr_handle_compare(h, found_h) != 0) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, pk_bkt_arr_handle_compare(h, found_h));
pk_bkt_arr_teardown(&arr);
- if (bkt_buckets->alloc_count != 0) exit(1);
- if (bkt_data->alloc_count != 0) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(0, bkt_data->alloc_count);
}
test_teardown(&bkt_buckets, &bkt_data);
@@ -218,21 +250,23 @@ int main(int argc, char *argv[])
pk_bkt_arr_init(&arr, sizeof(int), alignof(int), pk_bkt_arr_handle_MAX, bkt_buckets, bkt_data);
struct pk_bkt_arr_handle h = pk_bkt_arr_new_handle(&arr);
- if (h.b != 0) exit(1);
- if (h.i != 0) exit(1);
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != 1) exit(1);
- if (arr.head_r.b != 0) exit(1);
- if (arr.head_r.i != 1) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 1) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, h.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, h.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(1, bkt_data->alloc_count);
+#endif
pk_bkt_arr_iterate(&arr, iter, NULL);
- if (global_counter != 1) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(1, global_counter);
pk_bkt_arr_teardown(&arr);
- if (bkt_buckets->alloc_count != 0) exit(1);
- if (bkt_data->alloc_count != 0) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(0, bkt_data->alloc_count);
}
test_teardown(&bkt_buckets, &bkt_data);
@@ -247,41 +281,47 @@ int main(int argc, char *argv[])
h1 = pk_bkt_arr_new_handle(&arr);
h2 = pk_bkt_arr_new_handle(&arr);
- if (h1.b != 0) exit(1);
- if (h1.i != 0) exit(1);
- if (h2.b != 0) exit(1);
- if (h2.i != 1) exit(1);
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != 2) exit(1);
- if (arr.head_r.b != 0) exit(1);
- if (arr.head_r.i != 2) exit(1);
- if (arr.idx_unused[0] != 0xFFFFFFFFFFFFFFFC) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 1) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, h1.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, h1.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, h2.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, h2.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFFFC, arr.idx_unused[0]);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(1, bkt_data->alloc_count);
+#endif
pk_bkt_arr_free_handle(&arr, h1);
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != 0) exit(1);
- if (arr.head_r.b != 0) exit(1);
- if (arr.head_r.i != 2) exit(1);
- if (arr.idx_unused[0] != 0xFFFFFFFFFFFFFFFD) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 1) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFFFD, arr.idx_unused[0]);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(1, bkt_data->alloc_count);
+#endif
h2 = pk_bkt_arr_new_handle(&arr);
- if (h2.b != 0) exit(1);
- if (h2.i != 0) exit(1);
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != 2) exit(1);
- if (arr.head_r.b != 0) exit(1);
- if (arr.head_r.i != 2) exit(1);
- if (arr.idx_unused[0] != 0xFFFFFFFFFFFFFFFC) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 1) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, h2.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, h2.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFFFC, arr.idx_unused[0]);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(1, bkt_data->alloc_count);
+#endif
pk_bkt_arr_teardown(&arr);
- if (bkt_buckets->alloc_count != 0) exit(1);
- if (bkt_data->alloc_count != 0) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(0, bkt_data->alloc_count);
}
test_teardown(&bkt_buckets, &bkt_data);
@@ -299,75 +339,85 @@ int main(int argc, char *argv[])
for (i = 0; i < limits.i; ++i) {
handles[0][i] = pk_bkt_arr_new_handle(&arr);
- if (handles[0][i].b != 0) exit(1);
- if (handles[0][i].i != i) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, handles[0][i].b);
+ PK_TEST_ASSERT_EQ_EXIT(i, handles[0][i].i);
if (i == limits.i - 1) {
- if (arr.head_l.b != 1) exit(1);
- if (arr.head_l.i != 0) exit(1);
- if (arr.head_r.b != 1) exit(1);
- if (arr.head_r.i != 0) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.i);
} else {
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != i + 1) exit(1);
- if (arr.head_r.b != 0) exit(1);
- if (arr.head_r.i != i + 1) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(i+1, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(i+1, arr.head_r.i);
}
- if (arr.reserved_buckets != 1) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 1) exit(1);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.reserved_buckets);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(1, bkt_data->alloc_count);
+#endif
}
h1 = pk_bkt_arr_new_handle(&arr);
- if (h1.b != 1) exit(1);
- if (h1.i != 0) exit(1);
- if (arr.head_l.b != 1) exit(1);
- if (arr.head_l.i != 1) exit(1);
- if (arr.head_r.b != 1) exit(1);
- if (arr.head_r.i != 1) exit(1);
- if (arr.idx_unused[0] != 0xFFFFFFFFFFFFFF00) exit(1);
- if (arr.idx_unused[1] != 0xFFFFFFFFFFFFFFFE) exit(1);
- if (arr.reserved_buckets != 2) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 2) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(1, h1.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, h1.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFF00, arr.idx_unused[0]);
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFFFE, arr.idx_unused[1]);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.reserved_buckets);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_data->alloc_count);
+#endif
h1 = pk_bkt_arr_new_handle(&arr);
- if (h1.b != 1) exit(1);
- if (h1.i != 1) exit(1);
- if (arr.head_l.b != 1) exit(1);
- if (arr.head_l.i != 2) exit(1);
- if (arr.head_r.b != 1) exit(1);
- if (arr.head_r.i != 2) exit(1);
- if (arr.idx_unused[0] != 0xFFFFFFFFFFFFFF00) exit(1);
- if (arr.idx_unused[1] != 0xFFFFFFFFFFFFFFFC) exit(1);
- if (arr.reserved_buckets != 2) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 2) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(1, h1.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, h1.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFF00, arr.idx_unused[0]);
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFFFC, arr.idx_unused[1]);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.reserved_buckets);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_data->alloc_count);
+#endif
h1.b = 0;
h1.i = 3;
pk_bkt_arr_free_handle(&arr, h1);
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != 3) exit(1);
- if (arr.head_r.b != 1) exit(1);
- if (arr.head_r.i != 2) exit(1);
- if (arr.idx_unused[0] != 0xFFFFFFFFFFFFFF08) exit(1);
- if (arr.idx_unused[1] != 0xFFFFFFFFFFFFFFFC) exit(1);
- if (arr.reserved_buckets != 2) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 2) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(3, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFF08, arr.idx_unused[0]);
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFFFC, arr.idx_unused[1]);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.reserved_buckets);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_data->alloc_count);
+#endif
h2 = pk_bkt_arr_new_handle(&arr);
- if (h2.b != 0) exit(1);
- if (h2.i != 3) exit(1);
- if (arr.head_l.b != 1) exit(1);
- if (arr.head_l.i != 2) exit(1);
- if (arr.head_r.b != 1) exit(1);
- if (arr.head_r.i != 2) exit(1);
- if (arr.idx_unused[0] != 0xFFFFFFFFFFFFFF00) exit(1);
- if (arr.idx_unused[1] != 0xFFFFFFFFFFFFFFFC) exit(1);
- if (arr.reserved_buckets != 2) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 2) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, h2.b);
+ PK_TEST_ASSERT_EQ_EXIT(3, h2.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFF00, arr.idx_unused[0]);
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFFFC, arr.idx_unused[1]);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.reserved_buckets);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_data->alloc_count);
+#endif
h1.b = 1;
h1.i = 0;
@@ -375,32 +425,36 @@ int main(int argc, char *argv[])
h2.i = 1;
pk_bkt_arr_free_handle(&arr, h1);
pk_bkt_arr_free_handle(&arr, h2);
- if (arr.head_l.b != 1) exit(1);
- if (arr.head_l.i != 0) exit(1);
- if (arr.head_r.b != 1) exit(1);
- if (arr.head_r.i != 2) exit(1);
- if (arr.idx_unused[0] != 0xFFFFFFFFFFFFFF00) exit(1);
- if (arr.idx_unused[1] != 0xFFFFFFFFFFFFFFFF) exit(1);
- if (arr.reserved_buckets != 2) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 2) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFF00, arr.idx_unused[0]);
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFFFF, arr.idx_unused[1]);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.reserved_buckets);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_data->alloc_count);
+#endif
h2 = pk_bkt_arr_new_handle(&arr);
- if (h2.b != 1) exit(1);
- if (h2.i != 0) exit(1);
- if (arr.head_l.b != 1) exit(1);
- if (arr.head_l.i != 1) exit(1);
- if (arr.head_r.b != 1) exit(1);
- if (arr.head_r.i != 2) exit(1);
- if (arr.idx_unused[0] != 0xFFFFFFFFFFFFFF00) exit(1);
- if (arr.idx_unused[1] != 0xFFFFFFFFFFFFFFFE) exit(1);
- if (arr.reserved_buckets != 2) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 2) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(1, h2.b);
+ PK_TEST_ASSERT_EQ_EXIT(0, h2.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFF00, arr.idx_unused[0]);
+ PK_TEST_ASSERT_EQ_EXIT(0xFFFFFFFFFFFFFFFE, arr.idx_unused[1]);
+ PK_TEST_ASSERT_EQ_EXIT(2, arr.reserved_buckets);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_data->alloc_count);
+#endif
pk_bkt_arr_teardown(&arr);
- if (bkt_buckets->alloc_count != 0) exit(1);
- if (bkt_data->alloc_count != 0) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(0, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(0, bkt_data->alloc_count);
}
test_teardown(&bkt_buckets, &bkt_data);
@@ -425,6 +479,7 @@ int main(int argc, char *argv[])
if (expected_exit == true && caught == true) {
expected_exit = false;
caught = false;
+ pk_bkt_arr_teardown(&arr);
PK_LOGV_INF("%s: successfully caught err.\n", __FILE__);
fflush(stdout);
fflush(stderr);
@@ -441,32 +496,20 @@ int main(int argc, char *argv[])
handles[b][i] = pk_bkt_arr_new_handle(&arr);
}
}
- if (arr.head_l.b != 1) exit(1);
- if (arr.head_l.i != 7) exit(1);
- if (arr.head_r.b != 1) exit(1);
- if (arr.head_r.i != 7) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 2) exit(1);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_l.b);
+ PK_TEST_ASSERT_EQ_EXIT(7, arr.head_l.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, arr.head_r.b);
+ PK_TEST_ASSERT_EQ_EXIT(7, arr.head_r.i);
+#ifndef PK_MEMORY_FORCE_MALLOC
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_buckets->alloc_count);
+ PK_TEST_ASSERT_EQ_EXIT(2, bkt_data->alloc_count);
+#endif
expected_exit = true;
caught = false;
struct pk_bkt_arr_handle h = pk_bkt_arr_new_handle(&arr);
(void)h;
exit(1);
-
- /*
- pk_bkt_arr_free_handle(&arr, h);
- if (arr.head_l.b != 0) exit(1);
- if (arr.head_l.i != 0) exit(1);
- if (arr.head_r.b != 0) exit(1);
- if (arr.head_r.i != 1) exit(1);
- if (bkt_buckets->alloc_count != 2) exit(1);
- if (bkt_data->alloc_count != 1) exit(1);
-
- pk_bkt_arr_teardown(&arr);
- if (bkt_buckets->alloc_count != 0) exit(1);
- if (bkt_data->alloc_count != 0) exit(1);
- */
}
while (false);
test_teardown(&bkt_buckets, &bkt_data);
@@ -503,27 +546,27 @@ int main(int argc, char *argv[])
struct pk_iter it;
b = pk_bkt_arr_iter_begin(&arr, &it);
- if (b == false) exit(1);
- if (it.data == nullptr) exit(1);
- if (it.id.bkt.b != 0) exit(1);
- if (it.id.bkt.i != 1) exit(1);
- if (*(uint8_t*)it.data != 1) exit(1);
+ PK_TEST_ASSERT_NEQ_EXIT(false, b);
+ PK_TEST_ASSERT_NEQ_EXIT(nullptr, it.data);
+ PK_TEST_ASSERT_EQ_EXIT(0, it.id.bkt.b);
+ PK_TEST_ASSERT_EQ_EXIT(1, it.id.bkt.i);
+ PK_TEST_ASSERT_EQ_EXIT(1, *(uint8_t*)it.data);
fprintf(stdout, "it.data: %p, val: %i\n", it.data, *(uint8_t*)it.data);
b = pk_bkt_arr_iter_increment(&arr, &it);
- if (b == false) exit(1);
- if (it.data == nullptr) exit(1);
- if (it.id.bkt.b != 0) exit(1);
- if (it.id.bkt.i != 3) exit(1);
- if (*(uint8_t*)it.data != 3) exit(1);
+ PK_TEST_ASSERT_NEQ_EXIT(false, b);
+ PK_TEST_ASSERT_NEQ_EXIT(nullptr, it.data);
+ PK_TEST_ASSERT_EQ_EXIT(0, it.id.bkt.b);
+ PK_TEST_ASSERT_EQ_EXIT(3, it.id.bkt.i);
+ PK_TEST_ASSERT_EQ_EXIT(3, *(uint8_t*)it.data);
fprintf(stdout, "it.data: %p, val: %i\n", it.data, *(uint8_t*)it.data);
b = pk_bkt_arr_iter_increment(&arr, &it);
- if (b == false) exit(1);
- if (it.data == nullptr) exit(1);
- if (it.id.bkt.b != 0) exit(1);
- if (it.id.bkt.i != 4) exit(1);
- if (*(uint8_t*)it.data != 4) exit(1);
+ PK_TEST_ASSERT_NEQ_EXIT(false, b);
+ PK_TEST_ASSERT_NEQ_EXIT(nullptr, it.data);
+ PK_TEST_ASSERT_EQ_EXIT(0, it.id.bkt.b);
+ PK_TEST_ASSERT_EQ_EXIT(4, it.id.bkt.i);
+ PK_TEST_ASSERT_EQ_EXIT(4, *(uint8_t*)it.data);
fprintf(stdout, "it.data: %p, val: %i\n", it.data, *(uint8_t*)it.data);
b = pk_bkt_arr_iter_increment(&arr, &it);