Skip to content

Commit f1ea283

Browse files
cferreiragonzmergify[bot]
authored andcommitted
Improve Blackbox TCP tests suite (#5467)
* Refs #22441: Avoid running duplicated TCP tests Signed-off-by: cferreiragonz <[email protected]> * Refs #22441: Avoid using parametrized test Signed-off-by: cferreiragonz <[email protected]> * Refs #22441: Equal operator test Signed-off-by: cferreiragonz <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> (cherry picked from commit 0c799f4) # Conflicts: # test/blackbox/common/BlackboxTestsTransportTCP.cpp
1 parent df80e44 commit f1ea283

File tree

1 file changed

+135
-26
lines changed

1 file changed

+135
-26
lines changed

test/blackbox/common/BlackboxTestsTransportTCP.cpp

+135-26
Original file line numberDiff line numberDiff line change
@@ -524,30 +524,57 @@ TEST_P(TransportTCP, TCPLocalhost)
524524
// Test for ==operator TCPTransportDescriptor is not required as it is an abstract class and in TCPv6 is same method
525525
// Test for copy TCPTransportDescriptor is not required as it is an abstract class and in TCPv6 is same method
526526

527-
// Test == operator for TCPv4
528-
TEST_P(TransportTCP, TCPv4_equal_operator)
527+
// Test == operator for TCPv4/v6
528+
TEST_P(TransportTCP, TCP_equal_operator)
529529
{
530+
<<<<<<< HEAD
530531
// TCPv4TransportDescriptor
531532
TCPv4TransportDescriptor tcpv4_transport_1;
532533
TCPv4TransportDescriptor tcpv4_transport_2;
533-
534-
// Compare equal in defult values
535-
ASSERT_EQ(tcpv4_transport_1, tcpv4_transport_2);
536-
537-
// Modify default values in 1
538-
tcpv4_transport_1.set_WAN_address("80.80.99.45");
539-
540-
ASSERT_FALSE(tcpv4_transport_1 == tcpv4_transport_2); // operator== != operator!=, using operator== == false instead
541-
542-
// Modify default values in 2
543-
tcpv4_transport_2.set_WAN_address("80.80.99.45");
544-
545-
ASSERT_EQ(tcpv4_transport_1, tcpv4_transport_2);
534+
=======
535+
if (use_ipv6)
536+
{
537+
// TCPv6TransportDescriptor
538+
TCPv6TransportDescriptor transport1;
539+
TCPv6TransportDescriptor transport2;
540+
// Compare equal in defult values
541+
ASSERT_EQ(transport1, transport2);
542+
>>>>>>> 0c799f4ca (Improve Blackbox TCP tests suite (#5467))
543+
544+
// Modify some default values in 1
545+
transport1.enable_tcp_nodelay = !transport1.enable_tcp_nodelay; // change default value
546+
transport1.max_logical_port = transport1.max_logical_port + 10; // change default value
547+
transport1.add_listener_port(123u * 98u);
548+
ASSERT_FALSE(transport1 == transport2); // operator== != operator!=, using operator== == false instead
549+
550+
// Modify some default values in 2
551+
transport2.enable_tcp_nodelay = !transport2.enable_tcp_nodelay; // change default value
552+
transport2.max_logical_port = transport2.max_logical_port + 10; // change default value
553+
transport2.add_listener_port(123u * 98u);
554+
ASSERT_EQ(transport1, transport2);
555+
}
556+
else
557+
{
558+
// TCPv4TransportDescriptor
559+
TCPv4TransportDescriptor transport1;
560+
TCPv4TransportDescriptor transport2;
561+
// Compare equal in defult values
562+
ASSERT_EQ(transport1, transport2);
563+
564+
// Modify default values in 1
565+
transport1.set_WAN_address("80.80.99.45");
566+
ASSERT_FALSE(transport1 == transport2); // operator== != operator!=, using operator== == false instead
567+
568+
// Modify default values in 2
569+
transport2.set_WAN_address("80.80.99.45");
570+
ASSERT_EQ(transport1, transport2);
571+
}
546572
}
547573

548-
// Test copy constructor and copy assignment for TCPv4
549-
TEST_P(TransportTCP, TCPv4_copy)
574+
// Test copy constructor and copy assignment for TCPv4/v6
575+
TEST_P(TransportTCP, TCP_copy)
550576
{
577+
<<<<<<< HEAD
551578
TCPv4TransportDescriptor tcpv4_transport;
552579
tcpv4_transport.set_WAN_address("80.80.99.45");
553580

@@ -558,17 +585,48 @@ TEST_P(TransportTCP, TCPv4_copy)
558585
// Copy assignment
559586
TCPv4TransportDescriptor tcpv4_transport_copy = tcpv4_transport;
560587
EXPECT_EQ(tcpv4_transport_copy, tcpv4_transport);
588+
=======
589+
if (use_ipv6)
590+
{
591+
// Change some varibles in order to check the non default creation
592+
TCPv6TransportDescriptor tcpv6_transport;
593+
tcpv6_transport.enable_tcp_nodelay = !tcpv6_transport.enable_tcp_nodelay; // change default value
594+
tcpv6_transport.max_logical_port = tcpv6_transport.max_logical_port + 10; // change default value
595+
tcpv6_transport.add_listener_port(123u * 98u);
596+
// Copy constructor
597+
TCPv6TransportDescriptor tcpv6_transport_copy_constructor(tcpv6_transport);
598+
EXPECT_EQ(tcpv6_transport, tcpv6_transport_copy_constructor);
599+
600+
// Copy assignment
601+
TCPv6TransportDescriptor tcpv6_transport_copy = tcpv6_transport;
602+
EXPECT_EQ(tcpv6_transport_copy, tcpv6_transport);
603+
}
604+
else
605+
{
606+
TCPv4TransportDescriptor tcpv4_transport;
607+
tcpv4_transport.set_WAN_address("80.80.99.45");
608+
609+
// Copy constructor
610+
TCPv4TransportDescriptor tcpv4_transport_copy_constructor(tcpv4_transport);
611+
EXPECT_EQ(tcpv4_transport, tcpv4_transport_copy_constructor);
612+
613+
// Copy assignment
614+
TCPv4TransportDescriptor tcpv4_transport_copy = tcpv4_transport;
615+
EXPECT_EQ(tcpv4_transport_copy, tcpv4_transport);
616+
}
617+
>>>>>>> 0c799f4ca (Improve Blackbox TCP tests suite (#5467))
561618
}
562619

563620
// Test get_WAN_address member function
564-
TEST_P(TransportTCP, TCPv4_get_WAN_address)
621+
TEST(TransportTCP, TCPv4_get_WAN_address)
565622
{
566623
// TCPv4TransportDescriptor
567624
TCPv4TransportDescriptor tcpv4_transport;
568625
tcpv4_transport.set_WAN_address("80.80.99.45");
569626
ASSERT_EQ(tcpv4_transport.get_WAN_address(), "80.80.99.45");
570627
}
571628

629+
<<<<<<< HEAD
572630
// Test == operator for TCPv6
573631
TEST_P(TransportTCP, TCPv6_equal_operator)
574632
{
@@ -613,9 +671,11 @@ TEST_P(TransportTCP, TCPv6_copy)
613671
EXPECT_EQ(tcpv6_transport_copy, tcpv6_transport);
614672
}
615673

674+
=======
675+
>>>>>>> 0c799f4ca (Improve Blackbox TCP tests suite (#5467))
616676
// Test connection is successfully restablished after dropping and relaunching a TCP client (requester)
617677
// Issue -> https://github.com/eProsima/Fast-DDS/issues/2409
618-
TEST(TransportTCP, Client_reconnection)
678+
TEST_P(TransportTCP, Client_reconnection)
619679
{
620680
TCPReqRepHelloWorldReplier* replier;
621681
TCPReqRepHelloWorldRequester* requester;
@@ -674,21 +734,40 @@ TEST(TransportTCP, Client_reconnection)
674734
delete requester;
675735
}
676736

677-
// Test zero listening port for TCPv4
678-
TEST_P(TransportTCP, TCPv4_autofill_port)
737+
// Test zero listening port for TCPv4/v6
738+
TEST_P(TransportTCP, TCP_autofill_port)
679739
{
680740
PubSubReader<HelloWorldPubSubType> p1(TEST_TOPIC_NAME);
681741
PubSubReader<HelloWorldPubSubType> p2(TEST_TOPIC_NAME);
682742

743+
std::shared_ptr<TCPTransportDescriptor> p1_transport;
744+
std::shared_ptr<TCPTransportDescriptor> p2_transport;
745+
if (use_ipv6)
746+
{
747+
// TCPv6TransportDescriptor
748+
p1_transport = std::make_shared<TCPv6TransportDescriptor>();
749+
p2_transport = std::make_shared<TCPv6TransportDescriptor>();
750+
}
751+
else
752+
{
753+
// TCPv4TransportDescriptor
754+
p1_transport = std::make_shared<TCPv4TransportDescriptor>();
755+
p2_transport = std::make_shared<TCPv4TransportDescriptor>();
756+
}
757+
683758
// Add TCP Transport with listening port 0
759+
<<<<<<< HEAD
684760
auto p1_transport = std::make_shared<TCPv4TransportDescriptor>();
761+
=======
762+
>>>>>>> 0c799f4ca (Improve Blackbox TCP tests suite (#5467))
685763
p1_transport->add_listener_port(0);
686764
p1.disable_builtin_transport().add_user_transport_to_pparams(p1_transport);
687765
p1.init();
688766
ASSERT_TRUE(p1.isInitialized());
689767

690768
// Add TCP Transport with listening port different from 0
691769
uint16_t port = 12345;
770+
<<<<<<< HEAD
692771
auto p2_transport = std::make_shared<TCPv4TransportDescriptor>();
693772
p2_transport->add_listener_port(port);
694773
p2.disable_builtin_transport().add_user_transport_to_pparams(p2_transport);
@@ -720,6 +799,8 @@ TEST_P(TransportTCP, TCPv6_autofill_port)
720799
// Add TCP Transport with listening port different from 0
721800
uint16_t port = 12345;
722801
auto p2_transport = std::make_shared<TCPv6TransportDescriptor>();
802+
=======
803+
>>>>>>> 0c799f4ca (Improve Blackbox TCP tests suite (#5467))
723804
p2_transport->add_listener_port(port);
724805
p2.disable_builtin_transport().add_user_transport_to_pparams(p2_transport);
725806
p2.init();
@@ -851,6 +932,7 @@ TEST_P(TransportTCP, multiple_listening_ports)
851932
uint16_t server_port_1 = 10000;
852933
uint16_t server_port_2 = 10001;
853934

935+
<<<<<<< HEAD
854936
std::shared_ptr<TCPTransportDescriptor> server_transport;
855937
if (use_ipv6)
856938
{
@@ -863,6 +945,11 @@ TEST_P(TransportTCP, multiple_listening_ports)
863945
server_transport->add_listener_port(server_port_1);
864946
server_transport->add_listener_port(server_port_2);
865947
server->disable_builtin_transport().add_user_transport_to_pparams(server_transport).init();
948+
=======
949+
test_transport_->add_listener_port(server_port_1);
950+
test_transport_->add_listener_port(server_port_2);
951+
server->disable_builtin_transport().add_user_transport_to_pparams(test_transport_).init();
952+
>>>>>>> 0c799f4ca (Improve Blackbox TCP tests suite (#5467))
866953
ASSERT_TRUE(server->isInitialized());
867954

868955
// Create two clients each one connecting to a different port
@@ -1333,18 +1420,40 @@ TEST_P(TransportTCP, TCP_initial_peers_connection)
13331420
PubSubReader<HelloWorldPubSubType> p3(TEST_TOPIC_NAME);
13341421

13351422
// Add TCP Transport with listening port
1336-
auto p1_transport = std::make_shared<eprosima::fastdds::rtps::TCPv4TransportDescriptor>();
1423+
std::shared_ptr<TCPTransportDescriptor> p1_transport;
1424+
std::shared_ptr<TCPTransportDescriptor> p2_transport;
1425+
std::shared_ptr<TCPTransportDescriptor> p3_transport;
1426+
if (use_ipv6)
1427+
{
1428+
// TCPv6TransportDescriptor
1429+
p1_transport = std::make_shared<TCPv6TransportDescriptor>();
1430+
p2_transport = std::make_shared<TCPv6TransportDescriptor>();
1431+
p3_transport = std::make_shared<TCPv6TransportDescriptor>();
1432+
}
1433+
else
1434+
{
1435+
// TCPv4TransportDescriptor
1436+
p1_transport = std::make_shared<TCPv4TransportDescriptor>();
1437+
p2_transport = std::make_shared<TCPv4TransportDescriptor>();
1438+
p3_transport = std::make_shared<TCPv4TransportDescriptor>();
1439+
}
13371440
p1_transport->add_listener_port(global_port);
1338-
auto p2_transport = std::make_shared<eprosima::fastdds::rtps::TCPv4TransportDescriptor>();
13391441
p2_transport->add_listener_port(global_port + 1);
1340-
auto p3_transport = std::make_shared<eprosima::fastdds::rtps::TCPv4TransportDescriptor>();
13411442
p3_transport->add_listener_port(global_port - 1);
13421443

13431444
// Add initial peer to clients
13441445
Locator_t initialPeerLocator;
1345-
initialPeerLocator.kind = LOCATOR_KIND_TCPv4;
1346-
IPLocator::setIPv4(initialPeerLocator, 127, 0, 0, 1);
13471446
initialPeerLocator.port = global_port;
1447+
if (use_ipv6)
1448+
{
1449+
initialPeerLocator.kind = LOCATOR_KIND_TCPv6;
1450+
IPLocator::setIPv6(initialPeerLocator, "::1");
1451+
}
1452+
else
1453+
{
1454+
initialPeerLocator.kind = LOCATOR_KIND_TCPv4;
1455+
IPLocator::setIPv4(initialPeerLocator, 127, 0, 0, 1);
1456+
}
13481457
LocatorList_t initial_peer_list;
13491458
initial_peer_list.push_back(initialPeerLocator);
13501459

0 commit comments

Comments
 (0)