Skip to content

Commit

Permalink
Merge #12133: [qa] Fix rare failure in p2p-segwit.py
Browse files Browse the repository at this point in the history
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
  • Loading branch information
laanwj committed Jan 11, 2018
2 parents 92a810d + 35c2b1f commit 1d2eaba
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions test/functional/p2p-segwit.py
Original file line number Diff line number Diff line change
Expand Up @@ -1396,18 +1396,20 @@ def test_signature_version_1(self):

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])
Expand Down

0 comments on commit 1d2eaba

Please sign in to comment.