diff --git a/src/test/fuzz/net.cpp b/src/test/fuzz/net.cpp --- a/src/test/fuzz/net.cpp +++ b/src/test/fuzz/net.cpp @@ -55,7 +55,8 @@ fuzzed_data_provider.PickValueInArray( {ConnectionType::INBOUND, ConnectionType::OUTBOUND_FULL_RELAY, ConnectionType::MANUAL, ConnectionType::FEELER, - ConnectionType::BLOCK_RELAY, ConnectionType::ADDR_FETCH})}; + ConnectionType::BLOCK_RELAY, ConnectionType::ADDR_FETCH}), + fuzzed_data_provider.ConsumeBool()}; node.SetCommonVersion(fuzzed_data_provider.ConsumeIntegral()); while (fuzzed_data_provider.ConsumeBool()) { switch (fuzzed_data_provider.ConsumeIntegralInRange(0, 10)) { @@ -175,4 +176,5 @@ : static_cast( fuzzed_data_provider.ConsumeIntegral()); (void)node.HasPermission(net_permission_flags); + (void)node.ConnectedThroughNetwork(); } diff --git a/src/test/net_tests.cpp b/src/test/net_tests.cpp --- a/src/test/net_tests.cpp +++ b/src/test/net_tests.cpp @@ -203,16 +203,40 @@ BOOST_CHECK(pnode1->IsFeelerConn() == false); BOOST_CHECK(pnode1->IsAddrFetchConn() == false); BOOST_CHECK(pnode1->IsInboundConn() == false); + BOOST_CHECK_EQUAL(pnode1->ConnectedThroughNetwork(), Network::NET_IPV4); auto pnode2 = std::make_unique(id++, NODE_NETWORK, height, hSocket, addr, 1, 1, 1, CAddress(), pszDest, - ConnectionType::INBOUND); + ConnectionType::INBOUND, false); BOOST_CHECK(pnode2->IsFullOutboundConn() == false); BOOST_CHECK(pnode2->IsManualConn() == false); BOOST_CHECK(pnode2->IsBlockOnlyConn() == false); BOOST_CHECK(pnode2->IsFeelerConn() == false); BOOST_CHECK(pnode2->IsAddrFetchConn() == false); BOOST_CHECK(pnode2->IsInboundConn() == true); + BOOST_CHECK_EQUAL(pnode2->ConnectedThroughNetwork(), Network::NET_IPV4); + + auto pnode3 = std::make_unique( + id++, NODE_NETWORK, height, hSocket, addr, 0, 0, 0, CAddress(), pszDest, + ConnectionType::OUTBOUND_FULL_RELAY, true); + BOOST_CHECK(pnode3->IsFullOutboundConn() == true); + BOOST_CHECK(pnode3->IsManualConn() == false); + BOOST_CHECK(pnode3->IsBlockOnlyConn() == false); + BOOST_CHECK(pnode3->IsFeelerConn() == false); + BOOST_CHECK(pnode3->IsAddrFetchConn() == false); + BOOST_CHECK(pnode3->IsInboundConn() == false); + BOOST_CHECK_EQUAL(pnode3->ConnectedThroughNetwork(), Network::NET_IPV4); + + auto pnode4 = std::make_unique(id++, NODE_NETWORK, height, hSocket, + addr, 1, 1, 1, CAddress(), pszDest, + ConnectionType::INBOUND, true); + BOOST_CHECK(pnode4->IsFullOutboundConn() == false); + BOOST_CHECK(pnode4->IsManualConn() == false); + BOOST_CHECK(pnode4->IsBlockOnlyConn() == false); + BOOST_CHECK(pnode4->IsFeelerConn() == false); + BOOST_CHECK(pnode4->IsAddrFetchConn() == false); + BOOST_CHECK(pnode4->IsInboundConn() == true); + BOOST_CHECK_EQUAL(pnode4->ConnectedThroughNetwork(), Network::NET_ONION); } BOOST_AUTO_TEST_CASE(test_getSubVersionEB) {