aboutsummaryrefslogtreecommitdiff
path: root/test/functional/p2p_invalid_block.py
diff options
context:
space:
mode:
authorSuhas Daftuar <sdaftuar@gmail.com>2018-09-17 15:52:01 -0400
committerSuhas Daftuar <sdaftuar@gmail.com>2018-09-17 15:52:01 -0400
commit9b4a36effcf642f3844c6696b757266686ece11a (patch)
tree7634ed372ef8856bba89d47b864fc981d30ea793 /test/functional/p2p_invalid_block.py
parentb8f801964f59586508ea8da6cf3decd76bc0e571 (diff)
downloadbitcoin-9b4a36effcf642f3844c6696b757266686ece11a.tar.xz
[qa] Test for duplicate inputs within a transaction
Diffstat (limited to 'test/functional/p2p_invalid_block.py')
-rwxr-xr-xtest/functional/p2p_invalid_block.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/functional/p2p_invalid_block.py b/test/functional/p2p_invalid_block.py
index 7be7c9b3ee..0678b1a651 100755
--- a/test/functional/p2p_invalid_block.py
+++ b/test/functional/p2p_invalid_block.py
@@ -81,6 +81,16 @@ class InvalidBlockRequestTest(BitcoinTestFramework):
node.p2p.send_blocks_and_test([block2], node, success=False, request_block=False, reject_reason='bad-txns-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='bad-txns-inputs-duplicate')
+
self.log.info("Test very broken block.")
block3 = create_block(tip, create_coinbase(height), block_time)