fuzz: Avoid timeout in bitdeque

This commit is contained in:
MarcoFalke committed 2023-12-06 15:44:38 +01:00
1 parent 6d5790956f
commit fad1903b8a
1 file changed
+16 -16
+16 -16
View File
@@ -53,21 +53,11 @@ FUZZ_TARGET(bitdeque, .init = InitRandData)
--initlen; --initlen;
} }
LIMITED_WHILE(provider.remaining_bytes() > 0, 900) const auto iter_limit{maxlen > 6000 ? 90U : 900U};
LIMITED_WHILE(provider.remaining_bytes() > 0, iter_limit)
{ {
{ CallOneOf(
assert(deq.size() == bitdeq.size()); provider,
auto it = deq.begin();
auto bitit = bitdeq.begin();
auto itend = deq.end();
while (it != itend) {
assert(*it == *bitit);
++it;
++bitit;
}
}
CallOneOf(provider,
[&] { [&] {
// constructor() // constructor()
deq = std::deque<bool>{}; deq = std::deque<bool>{};
@@ -535,7 +525,17 @@ FUZZ_TARGET(bitdeque, .init = InitRandData)
assert(it == deq.begin() + before); assert(it == deq.begin() + before);
assert(bitit == bitdeq.begin() + before); assert(bitit == bitdeq.begin() + before);
} }
} });
); }
{
assert(deq.size() == bitdeq.size());
auto it = deq.begin();
auto bitit = bitdeq.begin();
auto itend = deq.end();
while (it != itend) {
assert(*it == *bitit);
++it;
++bitit;
}
} }
} }