mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-18 22:35:39 +01:00
Merge #11121: TestNode tidyups
7148b74dc[tests] Functional tests must explicitly set num_nodes (John Newbery)5448a1471[tests] don't override __init__() in individual tests (John Newbery)6cf094a02[tests] Avoid passing around member variables in test_framework (John Newbery)36b626867[tests] TestNode: separate add_node from start_node (John Newbery)be2a2ab6a[tests] fix - use rpc_timeout as rpc timeout (John Newbery) Pull request description: Some additional tidyups after the introduction of TestNode: - commit 1 makes TestNode use the correct rpc timeout. This should have been included in #11077 - commit 2 separates `add_node()` from `start_node()` as originally discussed here: https://github.com/bitcoin/bitcoin/pull/10556#discussion_r121161453 with @kallewoof . The test writer no longer needs to assign to `self.nodes` when starting/stopping nodes. - commit 3 adds a `set_test_params()` method, so individual tests don't need to override `__init__()` and call `super().__init__()` Tree-SHA512: 0adb030623b96675b5c29e2890ce99ccd837ed05f721d0c91b35378c5ac01b6658174aac12f1f77402e1d38b61f39b3c43b4df85c96952565dde1cda05b0db84
This commit is contained in:
@@ -65,9 +65,13 @@ class TestNode():
|
||||
assert self.rpc_connected and self.rpc is not None, "Error: no RPC connection"
|
||||
return self.rpc.__getattr__(*args, **kwargs)
|
||||
|
||||
def start(self):
|
||||
def start(self, extra_args=None, stderr=None):
|
||||
"""Start the node."""
|
||||
self.process = subprocess.Popen(self.args + self.extra_args, stderr=self.stderr)
|
||||
if extra_args is None:
|
||||
extra_args = self.extra_args
|
||||
if stderr is None:
|
||||
stderr = self.stderr
|
||||
self.process = subprocess.Popen(self.args + extra_args, stderr=stderr)
|
||||
self.running = True
|
||||
self.log.debug("bitcoind started, waiting for RPC to come up")
|
||||
|
||||
@@ -78,7 +82,7 @@ class TestNode():
|
||||
for _ in range(poll_per_s * self.rpc_timeout):
|
||||
assert self.process.poll() is None, "bitcoind exited with status %i during initialization" % self.process.returncode
|
||||
try:
|
||||
self.rpc = get_rpc_proxy(rpc_url(self.datadir, self.index, self.rpchost), self.index, coveragedir=self.coverage_dir)
|
||||
self.rpc = get_rpc_proxy(rpc_url(self.datadir, self.index, self.rpchost), self.index, timeout=self.rpc_timeout, coveragedir=self.coverage_dir)
|
||||
self.rpc.getblockcount()
|
||||
# If the call to getblockcount() succeeds then the RPC connection is up
|
||||
self.rpc_connected = True
|
||||
|
||||
Reference in New Issue
Block a user