aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJoão Barbosa <joao.paulo.barbosa@gmail.com>2017-09-06 17:07:21 +0100
committerMarcoFalke <falke.marco@gmail.com>2017-10-03 19:09:52 +0200
commite0bfd28de28efb1ffa84e89d76c144824dae987f (patch)
tree0dfc909d1f7ac566487e5f33f1817e4528056137 /test
parent812c87004311732da2fc8840a483be80c7a443ca (diff)
downloadbitcoin-e0bfd28de28efb1ffa84e89d76c144824dae987f.tar.xz
[test] Add support for custom arguments to TestNodeCLI
Github-Pull: #11125 Rebased-From: 5c18a84b9a49e3f9dacf0502dbf7d5d755f38da6
Diffstat (limited to 'test')
-rwxr-xr-xtest/functional/test_framework/test_node.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/test/functional/test_framework/test_node.py b/test/functional/test_framework/test_node.py
index f58a372a14..363025740a 100755
--- a/test/functional/test_framework/test_node.py
+++ b/test/functional/test_framework/test_node.py
@@ -155,8 +155,16 @@ class TestNodeCLI():
"""Interface to bitcoin-cli for an individual node"""
def __init__(self, binary, datadir):
+ self.args = []
self.binary = binary
self.datadir = datadir
+ self.input = None
+
+ def __call__(self, *args, input=None):
+ # TestNodeCLI is callable with bitcoin-cli command-line args
+ self.args = [str(arg) for arg in args]
+ self.input = input
+ return self
def __getattr__(self, command):
def dispatcher(*args, **kwargs):
@@ -169,9 +177,9 @@ class TestNodeCLI():
pos_args = [str(arg) for arg in args]
named_args = [str(key) + "=" + str(value) for (key, value) in kwargs.items()]
assert not (pos_args and named_args), "Cannot use positional arguments and named arguments in the same bitcoin-cli call"
- p_args = [self.binary, "-datadir=" + self.datadir]
+ p_args = [self.binary, "-datadir=" + self.datadir] + self.args
if named_args:
p_args += ["-named"]
p_args += [command] + pos_args + named_args
- cli_output = subprocess.check_output(p_args, universal_newlines=True)
+ cli_output = subprocess.check_output(p_args, input=self.input, universal_newlines=True)
return json.loads(cli_output, parse_float=decimal.Decimal)