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"); }