diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-01-04 23:05:08 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-01-04 23:05:08 -0800 |
| commit | e1f991bd194dcbc8f2547ac4f583c998c727a1ec (patch) | |
| tree | feb85033c6b2d59415e10dc73065994caf14aea3 /tests | |
| parent | 95ab679e6443bbd23b308b6d7df7d83df020419d (diff) | |
| download | nng-e1f991bd194dcbc8f2547ac4f583c998c727a1ec.tar.gz nng-e1f991bd194dcbc8f2547ac4f583c998c727a1ec.tar.bz2 nng-e1f991bd194dcbc8f2547ac4f583c998c727a1ec.zip | |
Fixes for TCP transport. Working now.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/trantest.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/trantest.h b/tests/trantest.h index 3bc47e8d..8898a9a5 100644 --- a/tests/trantest.h +++ b/tests/trantest.h @@ -82,15 +82,60 @@ trantest_listen_accept(trantest *tt) { Convey("Listen and accept" ,{ nng_endpoint *ep; + ep = NULL; So(nng_listen(tt->repsock, tt->addr, &ep, NNG_FLAG_SYNCH) == 0); So(ep != NULL); + ep = NULL; So(nng_dial(tt->reqsock, tt->addr, &ep, NNG_FLAG_SYNCH) == 0); So(ep != NULL); }) } void +trantest_send_recv(trantest *tt) +{ + Convey("Send and recv", { + nng_endpoint *ep = NULL; + nng_msg *send; + nng_msg *recv; + char *body; + size_t len; + + ep = NULL; + So(nng_listen(tt->repsock, tt->addr, &ep, NNG_FLAG_SYNCH) == 0); + So(ep != NULL); + ep = NULL; + So(nng_dial(tt->reqsock, tt->addr, &ep, NNG_FLAG_SYNCH) == 0); + So(ep != NULL); + + send = NULL; + So(nng_msg_alloc(&send, 0) == 0); + So(send != NULL); + So(nng_msg_append(send, "ping", 5) == 0); + + So(nng_sendmsg(tt->reqsock, send, 0) == 0); + recv = NULL; + So(nng_recvmsg(tt->repsock, &recv, 0) == 0); + So(recv != NULL); + So((body = nng_msg_body(recv, &len)) != NULL); + So(len == 5); + So(strcmp(body, "ping") == 0); + nng_msg_free(recv); + + len = strlen("acknowledge"); + So(nng_msg_alloc(&send, 0) == 0); + So(nng_msg_append(send, "acknowledge", len) == 0); + So(nng_sendmsg(tt->repsock, send, 0) == 0); + So(nng_recvmsg(tt->reqsock, &recv, 0) == 0); + So(recv != NULL); + So((body = nng_msg_body(recv, &len)) != NULL); + So(len == strlen("acknowledge")); + So(strcmp(body, "acknowledge") == 0); + nng_msg_free(recv); + }) +} +void trantest_test_all(const char *addr) { trantest tt; @@ -106,5 +151,6 @@ trantest_test_all(const char *addr) trantest_conn_refused(&tt); trantest_duplicate_listen(&tt); trantest_listen_accept(&tt); + trantest_send_recv(&tt); }) } |
