diff options
Diffstat (limited to 'test/pkev.c')
| -rw-r--r-- | test/pkev.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/test/pkev.c b/test/pkev.c index e38ae9d..7c285d5 100644 --- a/test/pkev.c +++ b/test/pkev.c @@ -1,4 +1,5 @@ +#define PK_IMPL_MEM #define PK_IMPL_EV #include "../pkev.h" @@ -8,6 +9,7 @@ #include <stdio.h> struct ev { + struct pk_membucket *bkt; pk_ev_mgr_id_T evmgr; pk_ev_id_T evid; pk_ev_cb_id_T evcbid; @@ -48,7 +50,9 @@ test_setup() { memset(&ev_one, 0, sizeof(struct ev)); memset(&ev_two, 0, sizeof(struct ev)); - pk_ev_init(); + ev_one.bkt = pk_mem_bucket_create("test_ev_c", PK_MEM_DEFAULT_BUCKET_SIZE, PK_MEMBUCKET_FLAG_NONE); + ev_two.bkt = ev_one.bkt; + pk_ev_init(ev_one.bkt); const pk_ev_mgr_id_T evmgr = pk_ev_create_mgr(); if (evmgr >= 64) { PK_LOGV_ERR("%s: failed to create pk_ev_mgr\n", __FILE__); @@ -59,6 +63,13 @@ test_setup() return evmgr; } +void test_teardown() { + pk_ev_teardown(); + pk_mem_bucket_destroy(ev_one.bkt); + ev_one.bkt = NULL; + ev_two.bkt = NULL; +} + int main(int argc, char *argv[]) { (void)argc; @@ -76,8 +87,8 @@ int main(int argc, char *argv[]) pk_ev_emit(evmgr, ev_one.evid, NULL); pk_ev_emit(evmgr, ev_two.evid, NULL); PK_LOGV_INF("%s: ev_one: %i, ev_two: %i\n", __FILE__, ev_one.handled_count, ev_two.handled_count); - pk_ev_teardown(); if (ev_one.handled_count != 1 || ev_two.handled_count != 1) exit(1); + test_teardown(); } // register, emit, catch @@ -105,8 +116,8 @@ int main(int argc, char *argv[]) if (pk_ev_mstr.mgrs[ev_one.evmgr]->ev[ev_one.evid].right_ev_cbs != 1) exit (1); if (pk_ev_mstr.mgrs[ev_two.evmgr]->ev[ev_two.evid].left_ev_cbs != 0) exit (1); if (pk_ev_mstr.mgrs[ev_two.evmgr]->ev[ev_two.evid].right_ev_cbs != 1) exit (1); - pk_ev_teardown(); if (ev_one.handled_count != 1 || ev_two.handled_count != 1) exit(1); + test_teardown(); } // threaded register, emit, catch @@ -122,8 +133,8 @@ int main(int argc, char *argv[]) thrd_join(t1, &i); thrd_join(t2, &i); PK_LOGV_INF("%s: ev_one: %i, ev_two: %i\n", __FILE__, ev_one.handled_count, ev_two.handled_count); - pk_ev_teardown(); if (ev_one.handled_count != 1 || ev_two.handled_count != 1) exit(1); + test_teardown(); } return 0; |
