diff options
author | João Barbosa <joao.paulo.barbosa@gmail.com> | 2017-09-06 17:07:21 +0100 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2017-10-03 19:09:52 +0200 |
commit | e0bfd28de28efb1ffa84e89d76c144824dae987f (patch) | |
tree | 0dfc909d1f7ac566487e5f33f1817e4528056137 /test | |
parent | 812c87004311732da2fc8840a483be80c7a443ca (diff) |
[test] Add support for custom arguments to TestNodeCLI
Github-Pull: #11125
Rebased-From: 5c18a84b9a49e3f9dacf0502dbf7d5d755f38da6
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) |