From ca9085afc53eb20c1fc745ae469e9587a05b7f24 Mon Sep 17 00:00:00 2001 From: Russell Yanofsky Date: Wed, 20 Dec 2017 18:41:12 -0500 Subject: Prevent TestNodeCLI.args mixups Change TestNodeCLI.__call__() to return a new instance instead of modifying the existing instance. This way, it's possible to create different cli objects that have their own options (for example -rpcwallet options to connect to different wallets), and options set for a single call (`node.cli(options).method(args)`) will no longer leak into future calls. --- test/functional/test_framework/test_node.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/test/functional/test_framework/test_node.py b/test/functional/test_framework/test_node.py index 66f99f3011..1723f50eba 100755 --- a/test/functional/test_framework/test_node.py +++ b/test/functional/test_framework/test_node.py @@ -203,9 +203,10 @@ class TestNodeCLI(): 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 + cli = TestNodeCLI(self.binary, self.datadir) + cli.args = [str(arg) for arg in args] + cli.input = input + return cli def __getattr__(self, command): def dispatcher(*args, **kwargs): -- cgit v1.2.3