diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-04-28 17:55:46 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-04-28 17:57:05 +0200 |
commit | b53db93006f732fb2e140137e4713dedca1700d9 (patch) | |
tree | a2c1817c0fa6dd40d7da600148db70566e3a359d /memory/jemalloc/src/test/unit/mq.c | |
parent | db4b6dc1dab3dd099c93253b96fbe8089c2f9e60 (diff) | |
parent | f7b98c15a1c0a458b4bfa420f1743c8abfbdf7a8 (diff) | |
download | UXP-b53db93006f732fb2e140137e4713dedca1700d9.tar UXP-b53db93006f732fb2e140137e4713dedca1700d9.tar.gz UXP-b53db93006f732fb2e140137e4713dedca1700d9.tar.lz UXP-b53db93006f732fb2e140137e4713dedca1700d9.tar.xz UXP-b53db93006f732fb2e140137e4713dedca1700d9.zip |
Merge branch 'malloc-rewrite'
This resolves #263.
Diffstat (limited to 'memory/jemalloc/src/test/unit/mq.c')
-rw-r--r-- | memory/jemalloc/src/test/unit/mq.c | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/memory/jemalloc/src/test/unit/mq.c b/memory/jemalloc/src/test/unit/mq.c deleted file mode 100644 index bde2a480b..000000000 --- a/memory/jemalloc/src/test/unit/mq.c +++ /dev/null @@ -1,93 +0,0 @@ -#include "test/jemalloc_test.h" - -#define NSENDERS 3 -#define NMSGS 100000 - -typedef struct mq_msg_s mq_msg_t; -struct mq_msg_s { - mq_msg(mq_msg_t) link; -}; -mq_gen(static, mq_, mq_t, mq_msg_t, link) - -TEST_BEGIN(test_mq_basic) -{ - mq_t mq; - mq_msg_t msg; - - assert_false(mq_init(&mq), "Unexpected mq_init() failure"); - assert_u_eq(mq_count(&mq), 0, "mq should be empty"); - assert_ptr_null(mq_tryget(&mq), - "mq_tryget() should fail when the queue is empty"); - - mq_put(&mq, &msg); - assert_u_eq(mq_count(&mq), 1, "mq should contain one message"); - assert_ptr_eq(mq_tryget(&mq), &msg, "mq_tryget() should return msg"); - - mq_put(&mq, &msg); - assert_ptr_eq(mq_get(&mq), &msg, "mq_get() should return msg"); - - mq_fini(&mq); -} -TEST_END - -static void * -thd_receiver_start(void *arg) -{ - mq_t *mq = (mq_t *)arg; - unsigned i; - - for (i = 0; i < (NSENDERS * NMSGS); i++) { - mq_msg_t *msg = mq_get(mq); - assert_ptr_not_null(msg, "mq_get() should never return NULL"); - dallocx(msg, 0); - } - return (NULL); -} - -static void * -thd_sender_start(void *arg) -{ - mq_t *mq = (mq_t *)arg; - unsigned i; - - for (i = 0; i < NMSGS; i++) { - mq_msg_t *msg; - void *p; - p = mallocx(sizeof(mq_msg_t), 0); - assert_ptr_not_null(p, "Unexpected mallocx() failure"); - msg = (mq_msg_t *)p; - mq_put(mq, msg); - } - return (NULL); -} - -TEST_BEGIN(test_mq_threaded) -{ - mq_t mq; - thd_t receiver; - thd_t senders[NSENDERS]; - unsigned i; - - assert_false(mq_init(&mq), "Unexpected mq_init() failure"); - - thd_create(&receiver, thd_receiver_start, (void *)&mq); - for (i = 0; i < NSENDERS; i++) - thd_create(&senders[i], thd_sender_start, (void *)&mq); - - thd_join(receiver, NULL); - for (i = 0; i < NSENDERS; i++) - thd_join(senders[i], NULL); - - mq_fini(&mq); -} -TEST_END - -int -main(void) -{ - - return (test( - test_mq_basic, - test_mq_threaded)); -} - |