0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-08 10:31:50 -05:00

test: Use ECC_Context helper in bench and fuzz tests

This commit is contained in:
Ryan Ofsky 2024-05-07 08:54:19 -04:00 committed by TheCharlatan
parent 538fedde1d
commit 28905c1a64
No known key found for this signature in database
GPG key ID: 9B79B45691DB4173
15 changed files with 15 additions and 25 deletions

View file

@ -14,7 +14,7 @@
static void BIP324_ECDH(benchmark::Bench& bench) static void BIP324_ECDH(benchmark::Bench& bench)
{ {
ECC_Start(); ECC_Context ecc_context{};
FastRandomContext rng; FastRandomContext rng;
std::array<std::byte, 32> key_data; std::array<std::byte, 32> key_data;
@ -44,8 +44,6 @@ static void BIP324_ECDH(benchmark::Bench& bench)
// - Copy 16 bytes from the resulting shared secret into the middle of their ellswift key. // - Copy 16 bytes from the resulting shared secret into the middle of their ellswift key.
std::copy(ret.begin() + 16, ret.end(), their_ellswift_data.begin() + 24); std::copy(ret.begin() + 16, ret.end(), their_ellswift_data.begin() + 24);
}); });
ECC_Stop();
} }
BENCHMARK(BIP324_ECDH, benchmark::PriorityLevel::HIGH); BENCHMARK(BIP324_ECDH, benchmark::PriorityLevel::HIGH);

View file

@ -18,7 +18,7 @@
// (https://github.com/bitcoin/bitcoin/issues/7883#issuecomment-224807484) // (https://github.com/bitcoin/bitcoin/issues/7883#issuecomment-224807484)
static void CCoinsCaching(benchmark::Bench& bench) static void CCoinsCaching(benchmark::Bench& bench)
{ {
ECC_Start(); ECC_Context ecc_context{};
FillableSigningProvider keystore; FillableSigningProvider keystore;
CCoinsView coinsDummy; CCoinsView coinsDummy;
@ -47,7 +47,6 @@ static void CCoinsCaching(benchmark::Bench& bench)
bool success{AreInputsStandard(tx_1, coins)}; bool success{AreInputsStandard(tx_1, coins)};
assert(success); assert(success);
}); });
ECC_Stop();
} }
BENCHMARK(CCoinsCaching, benchmark::PriorityLevel::HIGH); BENCHMARK(CCoinsCaching, benchmark::PriorityLevel::HIGH);

View file

@ -25,7 +25,7 @@ static void CCheckQueueSpeedPrevectorJob(benchmark::Bench& bench)
// We shouldn't ever be running with the checkqueue on a single core machine. // We shouldn't ever be running with the checkqueue on a single core machine.
if (GetNumCores() <= 1) return; if (GetNumCores() <= 1) return;
ECC_Start(); ECC_Context ecc_context{};
struct PrevectorJob { struct PrevectorJob {
prevector<PREVECTOR_SIZE, uint8_t> p; prevector<PREVECTOR_SIZE, uint8_t> p;
@ -62,6 +62,5 @@ static void CCheckQueueSpeedPrevectorJob(benchmark::Bench& bench)
// it is done explicitly here for clarity // it is done explicitly here for clarity
control.Wait(); control.Wait();
}); });
ECC_Stop();
} }
BENCHMARK(CCheckQueueSpeedPrevectorJob, benchmark::PriorityLevel::HIGH); BENCHMARK(CCheckQueueSpeedPrevectorJob, benchmark::PriorityLevel::HIGH);

View file

@ -12,7 +12,7 @@
static void ExpandDescriptor(benchmark::Bench& bench) static void ExpandDescriptor(benchmark::Bench& bench)
{ {
ECC_Start(); ECC_Context ecc_context{};
const auto desc_str = "sh(wsh(multi(16,03669b8afcec803a0d323e9a17f3ea8e68e8abe5a278020a929adbec52421adbd0,0260b2003c386519fc9eadf2b5cf124dd8eea4c4e68d5e154050a9346ea98ce600,0362a74e399c39ed5593852a30147f2959b56bb827dfa3e60e464b02ccf87dc5e8,0261345b53de74a4d721ef877c255429961b7e43714171ac06168d7e08c542a8b8,02da72e8b46901a65d4374fe6315538d8f368557dda3a1dcf9ea903f3afe7314c8,0318c82dd0b53fd3a932d16e0ba9e278fcc937c582d5781be626ff16e201f72286,0297ccef1ef99f9d73dec9ad37476ddb232f1238aff877af19e72ba04493361009,02e502cfd5c3f972fe9a3e2a18827820638f96b6f347e54d63deb839011fd5765d,03e687710f0e3ebe81c1037074da939d409c0025f17eb86adb9427d28f0f7ae0e9,02c04d3a5274952acdbc76987f3184b346a483d43be40874624b29e3692c1df5af,02ed06e0f418b5b43a7ec01d1d7d27290fa15f75771cb69b642a51471c29c84acd,036d46073cbb9ffee90473f3da429abc8de7f8751199da44485682a989a4bebb24,02f5d1ff7c9029a80a4e36b9a5497027ef7f3e73384a4a94fbfe7c4e9164eec8bc,02e41deffd1b7cce11cde209a781adcffdabd1b91c0ba0375857a2bfd9302419f3,02d76625f7956a7fc505ab02556c23ee72d832f1bac391bcd2d3abce5710a13d06,0399eb0a5487515802dc14544cf10b3666623762fbed2ec38a3975716e2c29c232)))"; const auto desc_str = "sh(wsh(multi(16,03669b8afcec803a0d323e9a17f3ea8e68e8abe5a278020a929adbec52421adbd0,0260b2003c386519fc9eadf2b5cf124dd8eea4c4e68d5e154050a9346ea98ce600,0362a74e399c39ed5593852a30147f2959b56bb827dfa3e60e464b02ccf87dc5e8,0261345b53de74a4d721ef877c255429961b7e43714171ac06168d7e08c542a8b8,02da72e8b46901a65d4374fe6315538d8f368557dda3a1dcf9ea903f3afe7314c8,0318c82dd0b53fd3a932d16e0ba9e278fcc937c582d5781be626ff16e201f72286,0297ccef1ef99f9d73dec9ad37476ddb232f1238aff877af19e72ba04493361009,02e502cfd5c3f972fe9a3e2a18827820638f96b6f347e54d63deb839011fd5765d,03e687710f0e3ebe81c1037074da939d409c0025f17eb86adb9427d28f0f7ae0e9,02c04d3a5274952acdbc76987f3184b346a483d43be40874624b29e3692c1df5af,02ed06e0f418b5b43a7ec01d1d7d27290fa15f75771cb69b642a51471c29c84acd,036d46073cbb9ffee90473f3da429abc8de7f8751199da44485682a989a4bebb24,02f5d1ff7c9029a80a4e36b9a5497027ef7f3e73384a4a94fbfe7c4e9164eec8bc,02e41deffd1b7cce11cde209a781adcffdabd1b91c0ba0375857a2bfd9302419f3,02d76625f7956a7fc505ab02556c23ee72d832f1bac391bcd2d3abce5710a13d06,0399eb0a5487515802dc14544cf10b3666623762fbed2ec38a3975716e2c29c232)))";
const std::pair<int64_t, int64_t> range = {0, 1000}; const std::pair<int64_t, int64_t> range = {0, 1000};
@ -27,8 +27,6 @@ static void ExpandDescriptor(benchmark::Bench& bench)
assert(success); assert(success);
} }
}); });
ECC_Stop();
} }
BENCHMARK(ExpandDescriptor, benchmark::PriorityLevel::HIGH); BENCHMARK(ExpandDescriptor, benchmark::PriorityLevel::HIGH);

View file

@ -9,7 +9,7 @@
static void EllSwiftCreate(benchmark::Bench& bench) static void EllSwiftCreate(benchmark::Bench& bench)
{ {
ECC_Start(); ECC_Context ecc_context{};
CKey key = GenerateRandomKey(); CKey key = GenerateRandomKey();
uint256 entropy = GetRandHash(); uint256 entropy = GetRandHash();
@ -22,8 +22,6 @@ static void EllSwiftCreate(benchmark::Bench& bench)
/* Use the last 32 bytes of the ellswift encoded public key as next entropy. */ /* Use the last 32 bytes of the ellswift encoded public key as next entropy. */
std::copy(ret.begin() + 32, ret.begin() + 64, MakeWritableByteSpan(entropy).begin()); std::copy(ret.begin() + 32, ret.begin() + 64, MakeWritableByteSpan(entropy).begin());
}); });
ECC_Stop();
} }
BENCHMARK(EllSwiftCreate, benchmark::PriorityLevel::HIGH); BENCHMARK(EllSwiftCreate, benchmark::PriorityLevel::HIGH);

View file

@ -15,7 +15,7 @@
// modified to measure performance of other types of scripts. // modified to measure performance of other types of scripts.
static void VerifyScriptBench(benchmark::Bench& bench) static void VerifyScriptBench(benchmark::Bench& bench)
{ {
ECC_Start(); ECC_Context ecc_context{};
const uint32_t flags{SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH}; const uint32_t flags{SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH};
const int witnessversion = 0; const int witnessversion = 0;
@ -57,7 +57,6 @@ static void VerifyScriptBench(benchmark::Bench& bench)
assert(err == SCRIPT_ERR_OK); assert(err == SCRIPT_ERR_OK);
assert(success); assert(success);
}); });
ECC_Stop();
} }
static void VerifyNestedIfScript(benchmark::Bench& bench) static void VerifyNestedIfScript(benchmark::Bench& bench)

View file

@ -17,7 +17,7 @@ namespace {
void Initialize() void Initialize()
{ {
ECC_Start(); static ECC_Context ecc_context{};
SelectParams(ChainType::MAIN); SelectParams(ChainType::MAIN);
} }

View file

@ -55,7 +55,7 @@ static void TestDescriptor(const Descriptor& desc, FlatSigningProvider& sig_prov
void initialize_descriptor_parse() void initialize_descriptor_parse()
{ {
ECC_Start(); static ECC_Context ecc_context{};
SelectParams(ChainType::MAIN); SelectParams(ChainType::MAIN);
} }

View file

@ -32,7 +32,7 @@
void initialize_key() void initialize_key()
{ {
ECC_Start(); static ECC_Context ecc_context{};
SelectParams(ChainType::REGTEST); SelectParams(ChainType::REGTEST);
} }

View file

@ -14,7 +14,7 @@
void initialize_key_io() void initialize_key_io()
{ {
ECC_Start(); static ECC_Context ecc_context{};
SelectParams(ChainType::MAIN); SelectParams(ChainType::MAIN);
} }

View file

@ -19,7 +19,7 @@
void initialize_message() void initialize_message()
{ {
ECC_Start(); static ECC_Context ecc_context{};
SelectParams(ChainType::REGTEST); SelectParams(ChainType::REGTEST);
} }

View file

@ -1201,7 +1201,7 @@ void TestNode(const MsCtx script_ctx, const NodeRef& node, FuzzedDataProvider& p
void FuzzInit() void FuzzInit()
{ {
ECC_Start(); static ECC_Context ecc_context{};
TEST_DATA.Init(); TEST_DATA.Init();
} }

View file

@ -25,7 +25,7 @@ std::vector<std::string> g_all_messages;
void initialize_p2p_transport_serialization() void initialize_p2p_transport_serialization()
{ {
ECC_Start(); static ECC_Context ecc_context{};
SelectParams(ChainType::REGTEST); SelectParams(ChainType::REGTEST);
g_all_messages = getAllNetMessageTypes(); g_all_messages = getAllNetMessageTypes();
std::sort(g_all_messages.begin(), g_all_messages.end()); std::sort(g_all_messages.begin(), g_all_messages.end());

View file

@ -26,7 +26,7 @@
void initialize_script_sign() void initialize_script_sign()
{ {
ECC_Start(); static ECC_Context ecc_context{};
SelectParams(ChainType::REGTEST); SelectParams(ChainType::REGTEST);
} }

View file

@ -24,8 +24,7 @@ FUZZ_TARGET(secp256k1_ecdsa_signature_parse_der_lax)
secp256k1_ecdsa_signature sig_der_lax; secp256k1_ecdsa_signature sig_der_lax;
const bool parsed_der_lax = ecdsa_signature_parse_der_lax(&sig_der_lax, signature_bytes.data(), signature_bytes.size()) == 1; const bool parsed_der_lax = ecdsa_signature_parse_der_lax(&sig_der_lax, signature_bytes.data(), signature_bytes.size()) == 1;
if (parsed_der_lax) { if (parsed_der_lax) {
ECC_Start(); ECC_Context ecc_context{};
(void)SigHasLowR(&sig_der_lax); (void)SigHasLowR(&sig_der_lax);
ECC_Stop();
} }
} }