6 #include <chainparams.h> 27 static const auto testing_setup = MakeNoLogFileContext<const TestingSetup>();
28 g_setup = testing_setup.get();
35 ConnmanTestMsg connman{fuzzed_data_provider.ConsumeIntegral<uint64_t>(),
36 fuzzed_data_provider.ConsumeIntegral<uint64_t>(),
37 *g_setup->m_node.addrman,
38 *g_setup->m_node.netgroupman,
40 fuzzed_data_provider.ConsumeBool()};
44 std::string random_string;
48 connman.AddTestNode(p2p_node);
61 random_string = fuzzed_data_provider.ConsumeRandomLengthString(64);
64 connman.AddNode({random_string, fuzzed_data_provider.ConsumeBool()});
67 connman.CheckIncomingNonce(fuzzed_data_provider.ConsumeIntegral<uint64_t>());
70 connman.DisconnectNode(fuzzed_data_provider.ConsumeIntegral<
NodeId>());
73 connman.DisconnectNode(random_netaddr);
76 connman.DisconnectNode(random_string);
79 connman.DisconnectNode(random_subnet);
82 connman.ForEachNode([](
auto) {});
85 (void)connman.ForNode(fuzzed_data_provider.ConsumeIntegral<
NodeId>(), [&](
auto) { return fuzzed_data_provider.ConsumeBool(); });
88 (void)connman.GetAddresses(
89 fuzzed_data_provider.ConsumeIntegral<
size_t>(),
90 fuzzed_data_provider.ConsumeIntegral<
size_t>(),
94 (void)connman.GetAddresses(
96 fuzzed_data_provider.ConsumeIntegral<
size_t>(),
97 fuzzed_data_provider.ConsumeIntegral<
size_t>());
100 (void)connman.GetDeterministicRandomizer(fuzzed_data_provider.ConsumeIntegral<uint64_t>());
103 (void)connman.GetNodeCount(fuzzed_data_provider.PickValueInArray({ConnectionDirection::None, ConnectionDirection::In, ConnectionDirection::Out, ConnectionDirection::Both}));
106 (void)connman.OutboundTargetReached(fuzzed_data_provider.ConsumeBool());
112 connman.PushMessage(&random_node, std::move(serialized_net_msg));
115 connman.RemoveAddedNode(random_string);
118 connman.SetNetworkActive(fuzzed_data_provider.ConsumeBool());
121 connman.SetTryNewOutboundPeer(fuzzed_data_provider.ConsumeBool());
124 (void)connman.GetAddedNodeInfo();
125 (void)connman.GetExtraFullOutboundCount();
126 (void)connman.GetLocalServices();
127 (void)connman.GetMaxOutboundTarget();
128 (void)connman.GetMaxOutboundTimeframe();
129 (void)connman.GetMaxOutboundTimeLeftInCycle();
130 (void)connman.GetNetworkActive();
131 std::vector<CNodeStats> stats;
132 connman.GetNodeStats(stats);
133 (void)connman.GetOutboundTargetBytesLeft();
134 (void)connman.GetTotalBytesRecv();
135 (void)connman.GetTotalBytesSent();
136 (void)connman.GetTryNewOutboundPeer();
137 (void)connman.GetUseAddrmanOutgoing();
139 connman.ClearTestNodes();
std::vector< unsigned char > data
std::unique_ptr< CNode > ConsumeNodeAsUniquePtr(FuzzedDataProvider &fdp, const std::optional< NodeId > &node_id_in=std::nullopt)
CNetAddr ConsumeNetAddr(FuzzedDataProvider &fuzzed_data_provider) noexcept
#define LIMITED_WHILE(condition, limit)
Can be used to limit a theoretically unbounded loop.
auto ConsumeNode(FuzzedDataProvider &fuzzed_data_provider, const std::optional< NodeId > &node_id_in=std::nullopt) noexcept
std::vector< B > ConsumeRandomLengthByteVector(FuzzedDataProvider &fuzzed_data_provider, const std::optional< size_t > &max_length=std::nullopt) noexcept
void SetMockTime(int64_t nMockTimeIn)
DEPRECATED Use SetMockTime with chrono type.
int64_t ConsumeTime(FuzzedDataProvider &fuzzed_data_provider, const std::optional< int64_t > &min, const std::optional< int64_t > &max) noexcept
const CChainParams & Params()
Return the currently selected parameters.
FUZZ_TARGET(connman,.init=initialize_connman)
size_t CallOneOf(FuzzedDataProvider &fuzzed_data_provider, Callables... callables)
Information about a peer.
void initialize_connman()
Testing setup that configures a complete environment.
CSubNet ConsumeSubNet(FuzzedDataProvider &fuzzed_data_provider) noexcept