aboutsummaryrefslogtreecommitdiff
path: root/tests/aio.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2018-03-12 15:13:47 -0700
committerGarrett D'Amore <garrett@damore.org>2018-03-12 15:13:47 -0700
commit2f1e799d1225b18e960d426d35b6a83fa80db86f (patch)
treef02c8fb94ede04586e005cc8905ba6ccae740a5d /tests/aio.c
parent6ae722de957b33a3520e46a94bb1f970991a9a42 (diff)
downloadnng-2f1e799d1225b18e960d426d35b6a83fa80db86f.tar.gz
nng-2f1e799d1225b18e960d426d35b6a83fa80db86f.tar.bz2
nng-2f1e799d1225b18e960d426d35b6a83fa80db86f.zip
fixes #281 desire nng_sleep_aio()
Diffstat (limited to 'tests/aio.c')
-rw-r--r--tests/aio.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/aio.c b/tests/aio.c
index 8af5dbc7..b57c5a69 100644
--- a/tests/aio.c
+++ b/tests/aio.c
@@ -12,6 +12,7 @@
#include "nng.h"
#include "protocol/pair1/pair.h"
+#include "supplemental/util/platform.h"
#include "stubs.h"
@@ -28,11 +29,33 @@ cbdone(void *p)
(*(int *) p)++;
}
+void
+sleepdone(void *arg)
+{
+ *(nng_time *) arg = nng_clock();
+}
+
Main({
Test("AIO operations", {
const char *addr = "inproc://aio";
+ Convey("Sleep works", {
+ nng_time start = 0;
+ nng_time end = 0;
+ nng_aio *saio;
+ So(nng_aio_alloc(&saio, sleepdone, &end) == 0);
+ start = nng_clock();
+ nng_sleep_aio(200, saio);
+ nng_aio_wait(saio);
+ So(nng_aio_result(saio) == 0);
+ So(end != 0);
+ So((end - start) >= 200);
+ So((end - start) <= 1000);
+ So((nng_clock() - start) >= 200);
+ So((nng_clock() - start) <= 1000);
+ nng_aio_free(saio);
+ });
Convey("Given a connected pair of sockets", {
nng_socket s1;
nng_socket s2;