diff options
author | João Barbosa <joao.paulo.barbosa@gmail.com> | 2017-09-06 17:07:21 +0100 |
---|---|---|
committer | João Barbosa <joao.paulo.barbosa@gmail.com> | 2017-09-07 00:35:28 +0100 |
commit | 5c18a84b9a49e3f9dacf0502dbf7d5d755f38da6 (patch) | |
tree | a0023da655b91e7107876d85e0526f0b94505d3a /test | |
parent | e1274947d4574bb83a020d0e178f0e5db7fc6282 (diff) | |
download | bitcoin-5c18a84b9a49e3f9dacf0502dbf7d5d755f38da6.tar.xz |
[test] Add support for custom arguments to TestNodeCLI
Diffstat (limited to 'test')
-rwxr-xr-x | test/functional/test_framework/test_node.py | 12 |
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) |