Skip to content

Commit d6b24e1

Browse files
committed
test: Fix intermittent failure in feature_segwit
1 parent 7606512 commit d6b24e1

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

test/functional/feature_segwit.py

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -117,10 +117,6 @@ def success_mine(self, node, txid, sign, redeem_script=""):
117117
assert_equal(len(node.getblock(block[0])["tx"]), 2)
118118
self.sync_blocks()
119119

120-
def fail_mine(self, node, txid, sign, redeem_script=""):
121-
send_to_witness(1, node, getutxo(txid), self.pubkey[0], False, Decimal("49.998"), sign, redeem_script)
122-
assert_raises_rpc_error(-1, "unexpected witness data found", self.generate, node, 1)
123-
124120
def fail_accept(self, node, error_msg, txid, sign, redeem_script=""):
125121
assert_raises_rpc_error(-26, error_msg, send_to_witness, use_p2wsh=1, node=node, utxo=getutxo(txid), pubkey=self.pubkey[0], encode_p2sh=False, amount=Decimal("49.998"), sign=sign, insert_redeem_script=redeem_script)
126122

@@ -197,19 +193,19 @@ def run_test(self):
197193

198194
self.generate(self.nodes[0], 264) # block 427
199195

200-
self.log.info("Verify witness txs cannot be mined before the fork")
201-
self.fail_mine(self.nodes[2], wit_ids[NODE_2][P2WPKH][0], True)
202-
self.fail_mine(self.nodes[2], wit_ids[NODE_2][P2WSH][0], True)
203-
self.fail_mine(self.nodes[2], p2sh_ids[NODE_2][P2WPKH][0], True)
204-
self.fail_mine(self.nodes[2], p2sh_ids[NODE_2][P2WSH][0], True)
205-
206196
self.log.info("Verify unsigned p2sh witness txs without a redeem script are invalid")
207197
self.fail_accept(self.nodes[2], "mandatory-script-verify-flag-failed (Operation not valid with the current stack size)", p2sh_ids[NODE_2][P2WPKH][1], sign=False)
208198
self.fail_accept(self.nodes[2], "mandatory-script-verify-flag-failed (Operation not valid with the current stack size)", p2sh_ids[NODE_2][P2WSH][1], sign=False)
209199

210200
self.generate(self.nodes[0], 4) # blocks 428-431
211201

212-
self.log.info("Verify previous witness txs can now be mined")
202+
self.log.info("Verify witness txs are mined as soon as segwit activates")
203+
204+
send_to_witness(1, self.nodes[2], getutxo(wit_ids[NODE_2][P2WPKH][0]), self.pubkey[0], encode_p2sh=False, amount=Decimal("49.998"), sign=True)
205+
send_to_witness(1, self.nodes[2], getutxo(wit_ids[NODE_2][P2WSH][0]), self.pubkey[0], encode_p2sh=False, amount=Decimal("49.998"), sign=True)
206+
send_to_witness(1, self.nodes[2], getutxo(p2sh_ids[NODE_2][P2WPKH][0]), self.pubkey[0], encode_p2sh=False, amount=Decimal("49.998"), sign=True)
207+
send_to_witness(1, self.nodes[2], getutxo(p2sh_ids[NODE_2][P2WSH][0]), self.pubkey[0], encode_p2sh=False, amount=Decimal("49.998"), sign=True)
208+
213209
assert_equal(len(self.nodes[2].getrawmempool()), 4)
214210
blockhash = self.generate(self.nodes[2], 1)[0] # block 432 (first block with new rules; 432 = 144 * 3)
215211
assert_equal(len(self.nodes[2].getrawmempool()), 0)

0 commit comments

Comments
 (0)