aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSuhas Daftuar <sdaftuar@gmail.com>2018-09-17 16:15:02 -0400
committerMatt Corallo <git@bluematt.me>2018-09-17 17:58:49 -0400
commit9bd08fd465c35f08f3aab3c713ce1d70ddc1c492 (patch)
tree5d3209f5bf1e2d2e780c590607d3369a3962638f /test
parentd1dee205473140aca34180e5de8b9bbe17c2207d (diff)
[qa] backport: Test for duplicate inputs within a transaction
Diffstat (limited to 'test')
-rwxr-xr-xtest/functional/p2p_invalid_block.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/test/functional/p2p_invalid_block.py b/test/functional/p2p_invalid_block.py
index edcade63c1..7744526d9a 100755
--- a/test/functional/p2p_invalid_block.py
+++ b/test/functional/p2p_invalid_block.py
@@ -95,7 +95,18 @@ class InvalidBlockRequestTest(ComparisonTestFramework):
assert(block2_orig.vtx != block2.vtx)
self.tip = block2.sha256
- yield TestInstance([[block2, RejectResult(16, b'bad-txns-duplicate')], [block2_orig, True]])
+ yield TestInstance([[block2, RejectResult(16, b'bad-txns-duplicate')]])
+
+ # Check transactions for duplicate inputs
+ self.log.info("Test duplicate input block.")
+
+ block2_dup = copy.deepcopy(block2_orig)
+ block2_dup.vtx[2].vin.append(block2_dup.vtx[2].vin[0])
+ block2_dup.vtx[2].rehash()
+ block2_dup.hashMerkleRoot = block2_dup.calc_merkle_root()
+ block2_dup.rehash()
+ block2_dup.solve()
+ yield TestInstance([[block2_dup, RejectResult(16, b'bad-txns-inputs-duplicate')], [block2_orig, True]])
height += 1
'''