From 8a0b933aaed45b8d58aaba5bd9a904bb7105cf08 Mon Sep 17 00:00:00 2001 From: Tom Harding Date: Thu, 9 Jul 2015 18:10:57 -0700 Subject: [PATCH] Fix intermittent test failure, reduce test time In txn_clone.py, non-essential test transaction tx2 was asserted to be unconfirmed, but would occasionally confirm depending on network behavior. Fix by explicitly sharing with miner and checking for 1 confirmation. Reduce required conflict tests from 4 to 2, by moving one invocation each of txn_clone.py and txn_doublespend.py to the extented test section. This saves about 15 seconds per test run for me. --- qa/pull-tester/rpc-tests.sh | 4 ++-- qa/rpc-tests/txn_clone.py | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/qa/pull-tester/rpc-tests.sh b/qa/pull-tester/rpc-tests.sh index b28208239..0ef1b1eda 100755 --- a/qa/pull-tester/rpc-tests.sh +++ b/qa/pull-tester/rpc-tests.sh @@ -19,10 +19,8 @@ testScripts=( 'wallet.py' 'listtransactions.py' 'mempool_resurrect_test.py' - 'txn_doublespend.py' 'txn_doublespend.py --mineblock' 'txn_clone.py' - 'txn_clone.py --mineblock' 'getchaintips.py' 'rawtransactions.py' 'rest.py' @@ -44,6 +42,8 @@ testScriptsExt=( 'bipdersig.py' 'getblocktemplate_longpoll.py' 'getblocktemplate_proposals.py' + 'txn_doublespend.py' + 'txn_clone.py --mineblock' 'pruning.py' 'forknotify.py' 'invalidateblock.py' diff --git a/qa/rpc-tests/txn_clone.py b/qa/rpc-tests/txn_clone.py index 0d276ecc9..e8ced0e5b 100755 --- a/qa/rpc-tests/txn_clone.py +++ b/qa/rpc-tests/txn_clone.py @@ -125,6 +125,8 @@ class TxnMallTest(BitcoinTestFramework): # Reconnect the split network, and sync chain: connect_nodes(self.nodes[1], 2) + self.nodes[2].sendrawtransaction(fund_bar_tx["hex"]) + self.nodes[2].sendrawtransaction(tx2["hex"]) self.nodes[2].generate(1) # Mine another block to make sure we sync sync_blocks(self.nodes) @@ -136,7 +138,7 @@ class TxnMallTest(BitcoinTestFramework): # Verify expected confirmations assert_equal(tx1["confirmations"], -1) assert_equal(tx1_clone["confirmations"], 2) - assert_equal(tx2["confirmations"], 0) + assert_equal(tx2["confirmations"], 1) # Check node0's total balance; should be same as before the clone, + 100 BTC for 2 matured, # less possible orphaned matured subsidy