From 2df5701e902effa93834d9520690cbaca7e504f3 Mon Sep 17 00:00:00 2001 From: practicalswift Date: Tue, 7 Apr 2020 16:32:00 +0000 Subject: tests: Add coverage of GetVirtualTransactionSize(...) to existing fuzzer --- src/test/fuzz/integer.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/test/fuzz/integer.cpp') diff --git a/src/test/fuzz/integer.cpp b/src/test/fuzz/integer.cpp index fff2fabd1..f3259f659 100644 --- a/src/test/fuzz/integer.cpp +++ b/src/test/fuzz/integer.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -90,8 +91,12 @@ void test_one_input(const std::vector& buffer) } (void)GetSizeOfCompactSize(u64); (void)GetSpecialScriptSize(u32); - // (void)GetVirtualTransactionSize(i64, i64); // function defined only for a subset of int64_t inputs - // (void)GetVirtualTransactionSize(i64, i64, u32); // function defined only for a subset of int64_t/uint32_t inputs + if (!MultiplicationOverflow(i64, static_cast(::nBytesPerSigOp)) && !AdditionOverflow(i64 * ::nBytesPerSigOp, static_cast(4))) { + (void)GetVirtualTransactionSize(i64, i64); + } + if (!MultiplicationOverflow(i64, static_cast(u32)) && !AdditionOverflow(i64, static_cast(4)) && !AdditionOverflow(i64 * u32, static_cast(4))) { + (void)GetVirtualTransactionSize(i64, i64, u32); + } (void)HexDigit(ch); (void)MoneyRange(i64); (void)ToString(i64); -- cgit v1.2.3 From 283bd72156959f420f13acc7a34e513ca3446025 Mon Sep 17 00:00:00 2001 From: practicalswift Date: Wed, 8 Apr 2020 14:28:47 +0000 Subject: tests: Add coverage of {,Incremental}DynamicUsage(const std::set& s) to existing fuzzer --- src/test/fuzz/integer.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/test/fuzz/integer.cpp') diff --git a/src/test/fuzz/integer.cpp b/src/test/fuzz/integer.cpp index f3259f659..7c2537aaf 100644 --- a/src/test/fuzz/integer.cpp +++ b/src/test/fuzz/integer.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include void initialize() @@ -114,6 +115,12 @@ void test_one_input(const std::vector& buffer) (void)memusage::DynamicUsage(u8); const unsigned char uch = static_cast(u8); (void)memusage::DynamicUsage(uch); + { + const std::set i64s{i64, static_cast(u64)}; + const size_t dynamic_usage = memusage::DynamicUsage(i64s); + const size_t incremental_dynamic_usage = memusage::IncrementalDynamicUsage(i64s); + assert(dynamic_usage == incremental_dynamic_usage * i64s.size()); + } (void)MillisToTimeval(i64); const double d = ser_uint64_to_double(u64); assert(ser_double_to_uint64(d) == u64); -- cgit v1.2.3