mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-17 13:07:54 +02:00
Merge bitcoin/bitcoin#28091: fuzz: use ConnmanTestMsg in connman
ecfe507e07fuzz: use `ConnmanTestMsg` in `connman` (brunoerg) Pull request description: Fixes #27980 Using `ConnmanTestMsg` we can add nodes and be more effective fuzzing functions like `DisconnectNode`, `FindNode`, `GetNodeStats` and other ones. ACKs for top commit: MarcoFalke: review ACKecfe507e07dergoegge: utACKecfe507e07Tree-SHA512: 97c363b422809f2e9755c082d1102237347abfab72c7baca417bd8975f8a595ddf3a085f8353dbdb9f17fb98fbfe830792bfc0b83451168458018faf6c239efa
This commit is contained in:
commit
44b05bf3fe
1 changed files with 9 additions and 1 deletions
|
|
@ -32,7 +32,7 @@ FUZZ_TARGET(connman, .init = initialize_connman)
|
||||||
{
|
{
|
||||||
FuzzedDataProvider fuzzed_data_provider{buffer.data(), buffer.size()};
|
FuzzedDataProvider fuzzed_data_provider{buffer.data(), buffer.size()};
|
||||||
SetMockTime(ConsumeTime(fuzzed_data_provider));
|
SetMockTime(ConsumeTime(fuzzed_data_provider));
|
||||||
CConnman connman{fuzzed_data_provider.ConsumeIntegral<uint64_t>(),
|
ConnmanTestMsg connman{fuzzed_data_provider.ConsumeIntegral<uint64_t>(),
|
||||||
fuzzed_data_provider.ConsumeIntegral<uint64_t>(),
|
fuzzed_data_provider.ConsumeIntegral<uint64_t>(),
|
||||||
*g_setup->m_node.addrman,
|
*g_setup->m_node.addrman,
|
||||||
*g_setup->m_node.netgroupman,
|
*g_setup->m_node.netgroupman,
|
||||||
|
|
@ -41,6 +41,12 @@ FUZZ_TARGET(connman, .init = initialize_connman)
|
||||||
CNode random_node = ConsumeNode(fuzzed_data_provider);
|
CNode random_node = ConsumeNode(fuzzed_data_provider);
|
||||||
CSubNet random_subnet;
|
CSubNet random_subnet;
|
||||||
std::string random_string;
|
std::string random_string;
|
||||||
|
|
||||||
|
LIMITED_WHILE(fuzzed_data_provider.ConsumeBool(), 100) {
|
||||||
|
CNode& p2p_node{*ConsumeNodeAsUniquePtr(fuzzed_data_provider).release()};
|
||||||
|
connman.AddTestNode(p2p_node);
|
||||||
|
}
|
||||||
|
|
||||||
LIMITED_WHILE(fuzzed_data_provider.ConsumeBool(), 10000) {
|
LIMITED_WHILE(fuzzed_data_provider.ConsumeBool(), 10000) {
|
||||||
CallOneOf(
|
CallOneOf(
|
||||||
fuzzed_data_provider,
|
fuzzed_data_provider,
|
||||||
|
|
@ -128,4 +134,6 @@ FUZZ_TARGET(connman, .init = initialize_connman)
|
||||||
(void)connman.GetTotalBytesSent();
|
(void)connman.GetTotalBytesSent();
|
||||||
(void)connman.GetTryNewOutboundPeer();
|
(void)connman.GetTryNewOutboundPeer();
|
||||||
(void)connman.GetUseAddrmanOutgoing();
|
(void)connman.GetUseAddrmanOutgoing();
|
||||||
|
|
||||||
|
connman.ClearTestNodes();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue