summaryrefslogtreecommitdiff
path: root/test/pkev.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/pkev.c')
-rw-r--r--test/pkev.c19
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;