From 652424ad162b63d73ecb6bd65bd26946e90c617f Mon Sep 17 00:00:00 2001 From: Anthony Towns Date: Thu, 11 Sep 2025 11:21:22 +1000 Subject: [PATCH] test: additional test coverage for script_verify_flags --- src/test/fuzz/script_flags.cpp | 3 +++ src/test/script_tests.cpp | 2 ++ 2 files changed, 5 insertions(+) diff --git a/src/test/fuzz/script_flags.cpp b/src/test/fuzz/script_flags.cpp index 0920f7a408e..ca38c6a6d4a 100644 --- a/src/test/fuzz/script_flags.cpp +++ b/src/test/fuzz/script_flags.cpp @@ -20,6 +20,7 @@ static DataStream& operator>>(DataStream& ds, script_verify_flags& f) script_verify_flags::value_type n{0}; ds >> n; f = script_verify_flags::from_int(n); + assert(n == f.as_int()); return ds; } @@ -33,6 +34,8 @@ FUZZ_TARGET(script_flags) script_verify_flags verify_flags; ds >> verify_flags; + assert(verify_flags == script_verify_flags::from_int(verify_flags.as_int())); + if (!IsValidFlagCombination(verify_flags)) return; script_verify_flags fuzzed_flags; diff --git a/src/test/script_tests.cpp b/src/test/script_tests.cpp index c1a9947395a..fc4550bb7b7 100644 --- a/src/test/script_tests.cpp +++ b/src/test/script_tests.cpp @@ -1716,8 +1716,10 @@ BOOST_AUTO_TEST_CASE(formatscriptflags) { // quick check that FormatScriptFlags reports any unknown/unexpected bits BOOST_CHECK_EQUAL(FormatScriptFlags(SCRIPT_VERIFY_P2SH), "P2SH"); + BOOST_CHECK_EQUAL(FormatScriptFlags(SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_TAPROOT), "P2SH,TAPROOT"); BOOST_CHECK_EQUAL(FormatScriptFlags(SCRIPT_VERIFY_P2SH | script_verify_flags::from_int(1u<<31)), "P2SH,0x80000000"); BOOST_CHECK_EQUAL(FormatScriptFlags(SCRIPT_VERIFY_TAPROOT | script_verify_flags::from_int(1u<<27)), "TAPROOT,0x08000000"); + BOOST_CHECK_EQUAL(FormatScriptFlags(SCRIPT_VERIFY_TAPROOT | script_verify_flags::from_int((1u<<28) | (1ull<<58))), "TAPROOT,0x400000010000000"); BOOST_CHECK_EQUAL(FormatScriptFlags(script_verify_flags::from_int(1u<<26)), "0x04000000"); }