aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sp/transport/tcp/tcp_test.c42
-rw-r--r--tests/CMakeLists.txt1
-rw-r--r--tests/tcp.c60
3 files changed, 41 insertions, 62 deletions
diff --git a/src/sp/transport/tcp/tcp_test.c b/src/sp/transport/tcp/tcp_test.c
index 82abcae1..482d4ff4 100644
--- a/src/sp/transport/tcp/tcp_test.c
+++ b/src/sp/transport/tcp/tcp_test.c
@@ -238,8 +238,47 @@ test_tcp_recv_max(void)
NUTS_CLOSE(s1);
}
-NUTS_TESTS = {
+static void
+check_props_v4(nng_msg *msg)
+{
+ nng_pipe p;
+ size_t z;
+ nng_sockaddr la;
+ nng_sockaddr ra;
+ bool b;
+
+ p = nng_msg_get_pipe(msg);
+ NUTS_TRUE(nng_pipe_id(p) > 0);
+ NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_LOCADDR, &la));
+ NUTS_FAIL(nng_pipe_get_size(p, NNG_OPT_LOCADDR, &z), NNG_EBADTYPE);
+ NUTS_TRUE(la.s_family == NNG_AF_INET);
+ NUTS_TRUE(la.s_in.sa_port != 0);
+ NUTS_TRUE(la.s_in.sa_addr == htonl(0x7f000001));
+
+ NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &ra));
+ NUTS_TRUE(ra.s_family == NNG_AF_INET);
+ NUTS_TRUE(ra.s_in.sa_port != 0);
+ NUTS_TRUE(ra.s_in.sa_addr == htonl(0x7f000001));
+ NUTS_TRUE(ra.s_in.sa_port != la.s_in.sa_port);
+ NUTS_FAIL(nng_pipe_get_size(p, NNG_OPT_REMADDR, &z), NNG_EBADTYPE);
+
+ NUTS_PASS(nng_pipe_get_bool(p, NNG_OPT_TCP_KEEPALIVE, &b));
+ NUTS_TRUE(b == false); // default
+
+ NUTS_PASS(nng_pipe_get_bool(p, NNG_OPT_TCP_NODELAY, &b));
+ NUTS_TRUE(b); // default
+}
+
+void
+test_tcp_props_v4(void)
+{
+ nuts_tran_msg_props("tcp4", check_props_v4);
+}
+NUTS_DECLARE_TRAN_TESTS(tcp)
+
+NUTS_TESTS = {
+ NUTS_INSERT_TRAN_TESTS(tcp),
{ "tcp wild card connect fail", test_tcp_wild_card_connect_fail },
{ "tcp wild card bind", test_tcp_wild_card_bind },
{ "tcp port zero bind", test_tcp_port_zero_bind },
@@ -249,5 +288,6 @@ NUTS_TESTS = {
{ "tcp keep alive option", test_tcp_keep_alive_option },
{ "tcp recv max", test_tcp_recv_max },
{ "tcp ipv6", test_tcp_ipv6 },
+ { "tcp props v4", test_tcp_props_v4 },
{ NULL, NULL },
};
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index f6008c41..4e1d2331 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -132,7 +132,6 @@ add_nng_test(nonblock 60)
add_nng_test(scalability 20 ON)
add_nng_test(synch 5)
add_nng_test(tcpsupp 10)
-add_nng_test(tcp 180)
add_nng_test(tcp6 60)
add_nng_test(ws 30)
add_nng_test(wss 30)
diff --git a/tests/tcp.c b/tests/tcp.c
deleted file mode 100644
index 2c80035c..00000000
--- a/tests/tcp.c
+++ /dev/null
@@ -1,60 +0,0 @@
-//
-// Copyright 2022 Staysail Systems, Inc. <info@staysail.tech>
-// Copyright 2018 Capitar IT Group BV <info@capitar.com>
-// Copyright 2018 Devolutions <info@devolutions.net>
-//
-// This software is supplied under the terms of the MIT License, a
-// copy of which should be located in the distribution where this
-// file was obtained (LICENSE.txt). A copy of the license may also be
-// found online at https://opensource.org/licenses/MIT.
-//
-
-#ifndef _WIN32
-#include <arpa/inet.h>
-#endif
-
-#include <nng/nng.h>
-#include <nng/protocol/pair1/pair.h>
-
-#include "convey.h"
-#include "stubs.h"
-#include "trantest.h"
-
-// TCP tests.
-
-static int
-check_props_v4(nng_msg *msg)
-{
- nng_pipe p;
- size_t z;
- nng_sockaddr la;
- nng_sockaddr ra;
- bool b;
-
- p = nng_msg_get_pipe(msg);
- So(nng_pipe_id(p) > 0);
- So(nng_pipe_get_addr(p, NNG_OPT_LOCADDR, &la) == 0);
- So(la.s_family == NNG_AF_INET);
- So(la.s_in.sa_port == htons(trantest_port - 1));
- So(la.s_in.sa_port != 0);
- So(la.s_in.sa_addr == htonl(0x7f000001));
-
- // untyped
- So(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &ra) == 0);
- So(ra.s_family == NNG_AF_INET);
- So(ra.s_in.sa_port != 0);
- So(ra.s_in.sa_addr == htonl(0x7f000001));
-
- So(nng_pipe_get_size(p, NNG_OPT_REMADDR, &z) == NNG_EBADTYPE);
-
- So(nng_pipe_get_bool(p, NNG_OPT_TCP_KEEPALIVE, &b) == 0);
- So(b == false); // default
-
- So(nng_pipe_get_bool(p, NNG_OPT_TCP_NODELAY, &b) == 0);
- So(b == true); // default
-
- return (0);
-}
-
-TestMain("TCP Transport",
- { trantest_test_extended("tcp://127.0.0.1:", check_props_v4); })