diff options
author | John Newbery <john@johnnewbery.com> | 2017-08-16 15:46:48 -0400 |
---|---|---|
committer | John Newbery <john@johnnewbery.com> | 2017-08-23 10:56:31 -0400 |
commit | 2b4ea520b717b3ca894adbac17796786667764d3 (patch) | |
tree | e879a1ca697e137363ac4350345e778588a38183 /test/functional/dbcrash.py | |
parent | 31b2612bbf199fcbbb242fc1cfa2ad6221b0dcc7 (diff) | |
download | bitcoin-2b4ea520b717b3ca894adbac17796786667764d3.tar.xz |
[tests] fix timeout issues from TestNode
Fixes a couple of bugs from the introduction of TestNode:
- test scripts were no longer able to specify a custom timeout for
starting a node. Therefore tests with nodes that take a long time to
start up (eg pruning.py) would fail.
- the test for whether a node has failed on start up was broken
by changing 'assert x is None' to 'assert not x'. Since
subprocess.poll() can return None (indicating the node is still running)
or 0 (indicating the node exited with return code 0), this was a
regression.
Diffstat (limited to 'test/functional/dbcrash.py')
-rwxr-xr-x | test/functional/dbcrash.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/test/functional/dbcrash.py b/test/functional/dbcrash.py index 8339305f5e..a7fcc411c3 100755 --- a/test/functional/dbcrash.py +++ b/test/functional/dbcrash.py @@ -64,7 +64,8 @@ class ChainstateWriteCrashTest(BitcoinTestFramework): self.extra_args = [self.node0_args, self.node1_args, self.node2_args, self.node3_args] def setup_network(self): - self.setup_nodes() + # Need a bit of extra time for the nodes to start up for this test + self.nodes = self.start_nodes(self.num_nodes, self.options.tmpdir, self.extra_args, timewait=90) # Leave them unconnected, we'll use submitblock directly in this test def restart_node(self, node_index, expected_tip): @@ -74,10 +75,10 @@ class ChainstateWriteCrashTest(BitcoinTestFramework): after 60 seconds. Returns the utxo hash of the given node.""" time_start = time.time() - while time.time() - time_start < 60: + while time.time() - time_start < 120: try: # Any of these RPC calls could throw due to node crash - self.nodes[node_index] = self.start_node(node_index, self.options.tmpdir, self.extra_args[node_index]) + self.nodes[node_index] = self.start_node(node_index, self.options.tmpdir, self.extra_args[node_index], timewait=90) self.nodes[node_index].waitforblock(expected_tip) utxo_hash = self.nodes[node_index].gettxoutsetinfo()['hash_serialized_2'] return utxo_hash |