From a260c22cad0672dda11f42f649ebdc7cfa53b16a Mon Sep 17 00:00:00 2001 From: gzhao408 Date: Tue, 2 Feb 2021 09:16:34 -0800 Subject: [PATCH] [test] Check for invalid flag combinations --- src/test/transaction_tests.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/test/transaction_tests.cpp b/src/test/transaction_tests.cpp index b0d513939c0..0102ec627f6 100644 --- a/src/test/transaction_tests.cpp +++ b/src/test/transaction_tests.cpp @@ -222,6 +222,11 @@ BOOST_AUTO_TEST_CASE(tx_valid) PrecomputedTransactionData txdata(tx); unsigned int verify_flags = ParseScriptFlags(test[2].get_str()); + // Check that the test gives a valid combination of flags (otherwise VerifyScript will throw). Don't edit the flags. + if (~verify_flags != FillFlags(~verify_flags)) { + BOOST_ERROR("Bad test flags: " << strTest); + } + if (!CheckTxScripts(tx, mapprevOutScriptPubKeys, mapprevOutValues, ~verify_flags, txdata, strTest, /* expect_valid */ true)) { BOOST_ERROR("Tx unexpectedly failed: " << strTest); }