Different fundrawtransaction calls can result in selecting different inputs which can break/fail the test. This commit reduces the test strictness.
Alternative solution for #8199.
Different fundrawtransaction calls can result in selecting different inputs which can break/fail the test. This commit reduces the test strictness.
Alternative solution for #8199.
This doesn't fix anything. The failure I see is
$ ./fundrawtransaction.py
Initializing test directory /tmp/test7pcerde1/4231
Mining blocks...
JSONRPC error: Insufficient funds
File "/home/pw/git/bitcoin/qa/rpc-tests/test_framework/test_framework.py", line 144, in main
self.run_test()
File "./fundrawtransaction.py", line 684, in run_test
result = self.nodes[3].fundrawtransaction(rawtx) # uses min_relay_tx_fee (set by settxfee)
File "/home/pw/git/bitcoin/qa/rpc-tests/test_framework/coverage.py", line 49, in __call__
return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
File "/home/pw/git/bitcoin/qa/rpc-tests/test_framework/authproxy.py", line 144, in __call__
raise JSONRPCException(response['error'])
Stopping nodes
Not cleaning up dir /tmp/test7pcerde1/4231
Failed
Different fundrawtransaction calls can result in selecting different inputs which can break/fail the test.
This commit reduces the test strictness.
Updated the PR. Could be a timing issues (locked inputs / synced mempools, etc.). Added sync/generate before the new tests.
self.sync_all()
self.nodes[0].generate(1)
self.sync_all()
Tested ACK
677 | @@ -678,14 +678,18 @@ def run_test(self): 678 | assert(signedtx["complete"]) 679 | self.nodes[0].sendrawtransaction(signedtx["hex"]) 680 | 681 | + self.sync_all()
Nit: You don't need the sync when you mine on the node where you broadcast the transaction.
I think we should get rid of such sync_all() as they pause the test suite quite a bit.
I guess there are many places where we do this. What about fixing all together in an upcoming PR?
Sure, but let's not make it worse if there is no reason to do so.
Closing in favor or #8201