Changeset View
Changeset View
Standalone View
Standalone View
src/test/fuzz/integer.cpp
Show All 17 Lines | |||||
#include <pow/pow.h> | #include <pow/pow.h> | ||||
#include <pubkey.h> | #include <pubkey.h> | ||||
#include <rpc/util.h> | #include <rpc/util.h> | ||||
#include <script/signingprovider.h> | #include <script/signingprovider.h> | ||||
#include <script/standard.h> | #include <script/standard.h> | ||||
#include <serialize.h> | #include <serialize.h> | ||||
#include <streams.h> | #include <streams.h> | ||||
#include <uint256.h> | #include <uint256.h> | ||||
#include <util/moneystr.h> | |||||
#include <util/strencodings.h> | #include <util/strencodings.h> | ||||
#include <util/system.h> | #include <util/system.h> | ||||
#include <util/time.h> | #include <util/time.h> | ||||
#include <version.h> | #include <version.h> | ||||
#include <test/fuzz/FuzzedDataProvider.h> | #include <test/fuzz/FuzzedDataProvider.h> | ||||
#include <test/fuzz/fuzz.h> | #include <test/fuzz/fuzz.h> | ||||
Show All 35 Lines | void test_one_input(const std::vector<uint8_t> &buffer) { | ||||
static const uint256 u256_max(uint256S( | static const uint256 u256_max(uint256S( | ||||
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")); | "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")); | ||||
const std::vector<uint256> v256{u256, u256_min, u256_max}; | const std::vector<uint256> v256{u256, u256_min, u256_max}; | ||||
(void)ComputeMerkleRoot(v256); | (void)ComputeMerkleRoot(v256); | ||||
(void)CountBits(u64); | (void)CountBits(u64); | ||||
(void)DecompressAmount(u64); | (void)DecompressAmount(u64); | ||||
(void)FormatISO8601Date(i64); | (void)FormatISO8601Date(i64); | ||||
(void)FormatISO8601DateTime(i64); | (void)FormatISO8601DateTime(i64); | ||||
// FormatMoney(i) not defined when i == std::numeric_limits<int64_t>::min() | |||||
if (i64 != std::numeric_limits<int64_t>::min()) { | |||||
Amount parsed_money; | |||||
if (ParseMoney(FormatMoney(i64 * SATOSHI), parsed_money)) { | |||||
assert(parsed_money == i64 * SATOSHI); | |||||
} | |||||
} | |||||
(void)GetSizeOfCompactSize(u64); | (void)GetSizeOfCompactSize(u64); | ||||
(void)GetSpecialScriptSize(u32); | (void)GetSpecialScriptSize(u32); | ||||
// function defined only for a subset of int64_t inputs | // function defined only for a subset of int64_t inputs | ||||
// ()GetVirtualTransactionSize(i64, i64); | // ()GetVirtualTransactionSize(i64, i64); | ||||
// function defined only for a subset of int64_t/uint32_t inputs | // function defined only for a subset of int64_t/uint32_t inputs | ||||
// ()GetVirtualTransactionSize(i64, i64, u32); | // ()GetVirtualTransactionSize(i64, i64, u32); | ||||
(void)HexDigit(ch); | (void)HexDigit(ch); | ||||
(void)MoneyRange(i64 * SATOSHI); | |||||
(void)i64tostr(i64); | (void)i64tostr(i64); | ||||
(void)IsDigit(ch); | (void)IsDigit(ch); | ||||
(void)IsSpace(ch); | (void)IsSpace(ch); | ||||
(void)IsSwitchChar(ch); | (void)IsSwitchChar(ch); | ||||
(void)itostr(i32); | (void)itostr(i32); | ||||
(void)memusage::DynamicUsage(ch); | (void)memusage::DynamicUsage(ch); | ||||
(void)memusage::DynamicUsage(i16); | (void)memusage::DynamicUsage(i16); | ||||
(void)memusage::DynamicUsage(i32); | (void)memusage::DynamicUsage(i32); | ||||
Show All 9 Lines | void test_one_input(const std::vector<uint8_t> &buffer) { | ||||
const double d = ser_uint64_to_double(u64); | const double d = ser_uint64_to_double(u64); | ||||
assert(ser_double_to_uint64(d) == u64); | assert(ser_double_to_uint64(d) == u64); | ||||
const float f = ser_uint32_to_float(u32); | const float f = ser_uint32_to_float(u32); | ||||
assert(ser_float_to_uint32(f) == u32); | assert(ser_float_to_uint32(f) == u32); | ||||
(void)SighashToStr(uch); | (void)SighashToStr(uch); | ||||
(void)SipHashUint256(u64, u64, u256); | (void)SipHashUint256(u64, u64, u256); | ||||
(void)SipHashUint256Extra(u64, u64, u256, u32); | (void)SipHashUint256Extra(u64, u64, u256, u32); | ||||
(void)ToLower(ch); | (void)ToLower(ch); | ||||
(void)ToUpper(ch); | |||||
// ValueFromAmount(i) not defined when i == | |||||
// std::numeric_limits<int64_t>::min() | |||||
if (i64 != std::numeric_limits<int64_t>::min()) { | |||||
Amount parsed_money; | |||||
if (ParseMoney(ValueFromAmount(i64 * SATOSHI).getValStr(), | |||||
parsed_money)) { | |||||
assert(parsed_money == i64 * SATOSHI); | |||||
} | |||||
} | |||||
const arith_uint256 au256 = UintToArith256(u256); | const arith_uint256 au256 = UintToArith256(u256); | ||||
assert(ArithToUint256(au256) == u256); | assert(ArithToUint256(au256) == u256); | ||||
assert(uint256S(au256.GetHex()) == u256); | assert(uint256S(au256.GetHex()) == u256); | ||||
(void)au256.bits(); | (void)au256.bits(); | ||||
(void)au256.GetCompact(/* fNegative= */ false); | (void)au256.GetCompact(/* fNegative= */ false); | ||||
(void)au256.GetCompact(/* fNegative= */ true); | (void)au256.GetCompact(/* fNegative= */ true); | ||||
(void)au256.getdouble(); | (void)au256.getdouble(); | ||||
▲ Show 20 Lines • Show All 85 Lines • Show Last 20 Lines |