diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2018-01-11 14:42:45 +0100 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2018-01-11 14:47:34 +0100 |
commit | 1d2eaba300bc13c556e3cb05420dcc91ae12e1d0 (patch) | |
tree | 6eb7fbb1fd73113749a15bc00989dcd9e5ab978c /test | |
parent | 92a810d04b906722c9efe60e3997243c71ff3d4c (diff) | |
parent | 35c2b1fe3b1a046bbd1bfaf1c178e838d047277a (diff) |
Merge #12133: [qa] Fix rare failure in p2p-segwit.py
35c2b1f Fix rare failure in p2p-segwit.py (Suhas Daftuar)
Pull request description:
Avoid creating very small utxos that would violate an assumption in
test_non_standard_witness.
Fixes #11953
Tree-SHA512: 5fb7ae68f8731df819bab365923a84568b57227e4112f711fc2574767d15be83acd3e99d0d5bac94a42411a958b13a2119468babefed14efcfdda180004d4166
Diffstat (limited to 'test')
-rwxr-xr-x | test/functional/p2p-segwit.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/test/functional/p2p-segwit.py b/test/functional/p2p-segwit.py index 5f7cc05413..20e4805df0 100755 --- a/test/functional/p2p-segwit.py +++ b/test/functional/p2p-segwit.py @@ -1396,18 +1396,20 @@ class SegWitTest(BitcoinTestFramework): temp_utxos.pop(0) - # Update self.utxos for later tests. Just spend everything in - # temp_utxos to a corresponding entry in self.utxos + # Update self.utxos for later tests by creating two outputs + # that consolidate all the coins in temp_utxos. + output_value = sum(i.nValue for i in temp_utxos) // 2 + tx = CTransaction() index = 0 + # Just spend to our usual anyone-can-spend output + tx.vout = [CTxOut(output_value, CScript([OP_TRUE]))] * 2 for i in temp_utxos: - # Just spend to our usual anyone-can-spend output - # Use SIGHASH_SINGLE|SIGHASH_ANYONECANPAY so we can build up + # Use SIGHASH_ALL|SIGHASH_ANYONECANPAY so we can build up # the signatures as we go. tx.vin.append(CTxIn(COutPoint(i.sha256, i.n), b"")) - tx.vout.append(CTxOut(i.nValue, CScript([OP_TRUE]))) tx.wit.vtxinwit.append(CTxInWitness()) - sign_P2PK_witness_input(witness_program, tx, index, SIGHASH_SINGLE|SIGHASH_ANYONECANPAY, i.nValue, key) + sign_P2PK_witness_input(witness_program, tx, index, SIGHASH_ALL|SIGHASH_ANYONECANPAY, i.nValue, key) index += 1 block = self.build_next_block() self.update_witness_block_with_transactions(block, [tx]) |