Merge bitcoin/bitcoin#32591: test: fix and augment block tests of invalid_txs

8fcd684505 test: ensure reason is checked for invalid blocks rejection (Greg Sanders)
1a689a2c88 test: fix block tests of invalid_txs (Greg Sanders)

Pull request description:

  We are not actually testing some cases accidentally, for block inclusion.

  Issue discovered while reviewing https://github.com/bitcoin/bitcoin/pull/32533

ACKs for top commit:
  maflcko:
    review ACK 8fcd684505 🔶
  theStack:
    ACK 8fcd684505
  BrandonOdiwuor:
    Code Review ACK 8fcd684505
  TheCharlatan:
    ACK 8fcd684505

Tree-SHA512: 7e79ea35b64f56b29811b29df5752945cb10ec62465b385be5e4e2d295c3237b15d5dacf9e99661346967e84899da6fc82e3d2bd0ef6e5c51da85247da31e26a
This commit is contained in:
merge-script
2025-05-27 14:25:31 +01:00
2 changed files with 12 additions and 2 deletions

View File

@@ -138,6 +138,8 @@ class BadInputOutpointIndex(BadTxTemplate):
# Won't be rejected - nonexistent outpoint index is treated as an orphan since the coins
# database can't distinguish between spent outpoints and outpoints which never existed.
reject_reason = None
# But fails in block
block_reject_reason = "bad-txns-inputs-missingorspent"
expect_disconnect = False
def get_tx(self):
@@ -180,6 +182,8 @@ class PrevoutNullInput(BadTxTemplate):
class NonexistentInput(BadTxTemplate):
reject_reason = None # Added as an orphan tx.
expect_disconnect = False
# But fails in block
block_reject_reason = "bad-txns-inputs-missingorspent"
def get_tx(self):
tx = CTransaction()
@@ -229,7 +233,6 @@ class CreateSumTooLarge(BadTxTemplate):
class InvalidOPIFConstruction(BadTxTemplate):
reject_reason = "mandatory-script-verify-flag-failed (Invalid OP_IF construction)"
expect_disconnect = True
valid_in_block = True
def get_tx(self):
return create_tx_with_script(
@@ -278,7 +281,7 @@ def getDisabledOpcodeTemplate(opcode):
'reject_reason': "disabled opcode",
'expect_disconnect': True,
'get_tx': get_tx,
'valid_in_block' : True
'valid_in_block' : False
})
class NonStandardAndInvalid(BadTxTemplate):