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>(),
38 *g_setup->m_node.netgroupman,
40 fuzzed_data_provider.ConsumeBool()};
42 const uint64_t max_outbound_limit{fuzzed_data_provider.ConsumeIntegral<uint64_t>()};
45 connman.Init(options);
50 std::string random_string;
54 connman.AddTestNode(p2p_node);
67 random_string = fuzzed_data_provider.ConsumeRandomLengthString(64);
70 connman.AddNode({random_string, fuzzed_data_provider.ConsumeBool()});
73 connman.CheckIncomingNonce(fuzzed_data_provider.ConsumeIntegral<uint64_t>());
76 connman.DisconnectNode(fuzzed_data_provider.ConsumeIntegral<
NodeId>());
79 connman.DisconnectNode(random_netaddr);
82 connman.DisconnectNode(random_string);
85 connman.DisconnectNode(random_subnet);
88 connman.ForEachNode([](
auto) {});
91 (void)connman.ForNode(fuzzed_data_provider.ConsumeIntegral<
NodeId>(), [&](
auto) {
return fuzzed_data_provider.ConsumeBool(); });
94 (void)connman.GetAddresses(
95 fuzzed_data_provider.ConsumeIntegral<
size_t>(),
96 fuzzed_data_provider.ConsumeIntegral<
size_t>(),
98 fuzzed_data_provider.ConsumeBool());
101 (void)connman.GetAddresses(
103 fuzzed_data_provider.ConsumeIntegral<
size_t>(),
104 fuzzed_data_provider.ConsumeIntegral<
size_t>());
107 (void)connman.GetDeterministicRandomizer(fuzzed_data_provider.ConsumeIntegral<uint64_t>());
113 (void)connman.OutboundTargetReached(fuzzed_data_provider.ConsumeBool());
119 connman.PushMessage(&random_node, std::move(serialized_net_msg));
122 connman.RemoveAddedNode(random_string);
125 connman.SetNetworkActive(fuzzed_data_provider.ConsumeBool());
128 connman.SetTryNewOutboundPeer(fuzzed_data_provider.ConsumeBool());
131 (void)connman.GetAddedNodeInfo(fuzzed_data_provider.ConsumeBool());
132 (void)connman.GetExtraFullOutboundCount();
133 (void)connman.GetLocalServices();
134 assert(connman.GetMaxOutboundTarget() == max_outbound_limit);
135 (void)connman.GetMaxOutboundTimeframe();
136 (void)connman.GetMaxOutboundTimeLeftInCycle();
137 (void)connman.GetNetworkActive();
138 std::vector<CNodeStats> stats;
139 connman.GetNodeStats(stats);
140 (void)connman.GetOutboundTargetBytesLeft();
141 (void)connman.GetTotalBytesRecv();
142 (void)connman.GetTotalBytesSent();
143 (void)connman.GetTryNewOutboundPeer();
144 (void)connman.GetUseAddrmanOutgoing();
146 connman.ClearTestNodes();
const CChainParams & Params()
Return the currently selected parameters.
Information about a peer.
void initialize_connman()
FUZZ_TARGET(connman,.init=initialize_connman)
#define LIMITED_WHILE(condition, limit)
Can be used to limit a theoretically unbounded loop.
uint64_t nMaxOutboundLimit
std::vector< unsigned char > data
Testing setup that configures a complete environment.
CNetAddr ConsumeNetAddr(FuzzedDataProvider &fuzzed_data_provider, FastRandomContext *rand) noexcept
Create a CNetAddr.
CSubNet ConsumeSubNet(FuzzedDataProvider &fuzzed_data_provider) noexcept
std::unique_ptr< CNode > ConsumeNodeAsUniquePtr(FuzzedDataProvider &fdp, const std::optional< NodeId > &node_id_in=std::nullopt)
auto ConsumeNode(FuzzedDataProvider &fuzzed_data_provider, const std::optional< NodeId > &node_id_in=std::nullopt) noexcept
int64_t ConsumeTime(FuzzedDataProvider &fuzzed_data_provider, const std::optional< int64_t > &min, const std::optional< int64_t > &max) noexcept
size_t CallOneOf(FuzzedDataProvider &fuzzed_data_provider, Callables... callables)
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.