From 279fde58e39fe96b86a68586d5a857a31d3c81cd Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Sun, 18 Jun 2017 10:05:33 -0700 Subject: [PATCH] Check for rpcuser/rpcpassword first then for cookie Better to check that rpcuser and rpcpassword exist then to check for the cookie in the test framework. Name an argument for consistency in p2p-segwit.py --- test/functional/p2p-segwit.py | 2 +- test/functional/test_framework/util.py | 23 ++++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/test/functional/p2p-segwit.py b/test/functional/p2p-segwit.py index 1fa1c0710b..c332a47710 100755 --- a/test/functional/p2p-segwit.py +++ b/test/functional/p2p-segwit.py @@ -1944,7 +1944,7 @@ class SegWitTest(BitcoinTestFramework): self.test_signature_version_1() self.test_non_standard_witness() sync_blocks(self.nodes) - self.test_upgrade_after_activation(2) + self.test_upgrade_after_activation(node_id=2) self.test_witness_sigops() diff --git a/test/functional/test_framework/util.py b/test/functional/test_framework/util.py index c94dd6499f..d2a609451d 100644 --- a/test/functional/test_framework/util.py +++ b/test/functional/test_framework/util.py @@ -192,15 +192,10 @@ def get_datadir_path(dirname, n): return os.path.join(dirname, "node"+str(n)) def get_auth_cookie(datadir, n): - if os.path.isfile(os.path.join(datadir, "regtest", ".cookie")): - with open(os.path.join(datadir, "regtest", ".cookie"), 'r') as f: - userpass = f.read() - split_userpass = userpass.split(':') - return split_userpass[0], split_userpass[1] - else: + user = None + password = None + if os.path.isfile(os.path.join(datadir, "bitcoin.conf")): with open(os.path.join(datadir, "bitcoin.conf"), 'r') as f: - user = None - password = None for line in f: if line.startswith("rpcuser="): assert user is None # Ensure that there is only one rpcuser line @@ -208,9 +203,15 @@ def get_auth_cookie(datadir, n): if line.startswith("rpcpassword="): assert password is None # Ensure that there is only one rpcpassword line password = line.split("=")[1].strip("\n") - if user is None and password is None: - raise ValueError("No RPC credentials") - return user, password + if os.path.isfile(os.path.join(datadir, "regtest", ".cookie")): + with open(os.path.join(datadir, "regtest", ".cookie"), 'r') as f: + userpass = f.read() + split_userpass = userpass.split(':') + user = split_userpass[0] + password = split_userpass[1] + if user is None or password is None: + raise ValueError("No RPC credentials") + return user, password def rpc_url(datadir, i, rpchost=None): rpc_u, rpc_p = get_auth_cookie(datadir, i)