[qa] backport: Test for duplicate inputs within a transaction

This commit is contained in:
Suhas Daftuar 2018-09-17 16:15:02 -04:00 committed by Anthony Fieroni
parent e275004f72
commit 826219f99c

View file

@ -93,6 +93,16 @@ class InvalidBlockRequestTest(BitcoinTestFramework):
block2_dup.solve()
node.p2p.send_blocks_and_test([block2_dup], node, success=False, reject_reason='bad-txns-inputs-duplicate')
# Check transactions for duplicate inputs
self.log.info("Test duplicate input block.")
block2_orig.vtx[2].vin.append(block2_orig.vtx[2].vin[0])
block2_orig.vtx[2].rehash()
block2_orig.hashMerkleRoot = block2_orig.calc_merkle_root()
block2_orig.rehash()
block2_orig.solve()
node.p2p.send_blocks_and_test([block2_orig], node, success=False, request_block=False, reject_reason=b'bad-txns-inputs-duplicate')
self.log.info("Test very broken block.")
block3 = create_block(tip, create_coinbase(height), block_time)