diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/tcp.c | 19 | ||||
| -rw-r--r-- | tests/tls.c | 22 | ||||
| -rw-r--r-- | tests/zt.c | 16 |
3 files changed, 56 insertions, 1 deletions
diff --git a/tests/tcp.c b/tests/tcp.c index ef572c9d..42be028d 100644 --- a/tests/tcp.c +++ b/tests/tcp.c @@ -80,6 +80,25 @@ TestMain("TCP Transport", { So(nng_dial(s2, addr, NULL, 0) == 0); }); + Convey("We can bind to port zero", { + nng_socket s1; + nng_socket s2; + nng_listener l; + char addr[NNG_MAXADDRLEN]; + size_t sz; + + So(nng_pair_open(&s1) == 0); + So(nng_pair_open(&s2) == 0); + Reset({ + nng_close(s2); + nng_close(s1); + }); + So(nng_listen(s1, "tcp://127.0.0.1:0", &l, 0) == 0); + sz = NNG_MAXADDRLEN; + So(nng_listener_getopt(l, NNG_OPT_URL, addr, &sz) == 0); + So(nng_dial(s2, addr, NULL, 0) == 0); + }); + Convey("Malformed TCP addresses do not panic", { nng_socket s1; diff --git a/tests/tls.c b/tests/tls.c index 31041fa5..f51fabef 100644 --- a/tests/tls.c +++ b/tests/tls.c @@ -9,7 +9,9 @@ // #include "convey.h" + #include "nng.h" + #include "protocol/pair1/pair.h" #include "supplemental/tls/tls.h" #include "transport/tls/tls.h" @@ -293,6 +295,26 @@ TestMain("TLS Transport", { So(nng_dial(s2, addr, NULL, 0) == 0); }); + Convey("We can bind to port zero", { + nng_socket s1; + nng_socket s2; + nng_listener l; + char addr[NNG_MAXADDRLEN]; + size_t sz; + + So(nng_tls_register() == 0); + So(nng_pair_open(&s1) == 0); + So(nng_pair_open(&s2) == 0); + Reset({ + nng_close(s2); + nng_close(s1); + }); + So(nng_listen(s1, "tls+tcp://127.0.0.1:0", &l, 0) == 0); + sz = NNG_MAXADDRLEN; + So(nng_listener_getopt(l, NNG_OPT_URL, addr, &sz) == 0); + So(nng_dial(s2, addr, NULL, 0) == 0); + }); + Convey("Malformed TLS addresses do not panic", { nng_socket s1; @@ -285,6 +285,20 @@ TestMain("ZeroTier Transport", { nng_msleep(2000); // to give dialer time to start up }); - trantest_test_extended("zt://*." NWID ":%u", check_props); + // We need to determine our ephemeral ID: + + nng_socket s_test; + nng_listener l_test; + uint64_t node; + char fmt[128]; + + So(nng_pair_open(&s_test) == 0); + So(nng_listener_create(&l_test, s_test, "zt://*." NWID ":0") == 0); + So(nng_listener_start(l_test, 0) == 0); + So(nng_listener_getopt_uint64(l_test, NNG_OPT_ZT_NODE, &node) == 0); + snprintf(fmt, sizeof(fmt), "zt://%llx." NWID ":%%u", node); + nng_listener_close(l_test); + + trantest_test_extended(fmt, check_props); }) |
