[qa] Delete cookie file before starting node
If a cookie file exists in a datadir prior to node startup, it must have been leftover from a prior unclean shutdown. As bitcoind will overwrite it anyway, delete it before starting up to prevent the test framework from inadvertently trying to connect using stale credentials.
This commit is contained in:
parent
2b54155a45
commit
75d0e4c544
2 changed files with 11 additions and 0 deletions
|
@ -20,6 +20,7 @@ from .authproxy import JSONRPCException
|
||||||
from .util import (
|
from .util import (
|
||||||
append_config,
|
append_config,
|
||||||
assert_equal,
|
assert_equal,
|
||||||
|
delete_cookie_file,
|
||||||
get_rpc_proxy,
|
get_rpc_proxy,
|
||||||
rpc_url,
|
rpc_url,
|
||||||
wait_until,
|
wait_until,
|
||||||
|
@ -105,6 +106,10 @@ class TestNode():
|
||||||
extra_args = self.extra_args
|
extra_args = self.extra_args
|
||||||
if stderr is None:
|
if stderr is None:
|
||||||
stderr = self.stderr
|
stderr = self.stderr
|
||||||
|
# Delete any existing cookie file -- if such a file exists (eg due to
|
||||||
|
# unclean shutdown), it will get overwritten anyway by bitcoind, and
|
||||||
|
# potentially interfere with our attempt to authenticate
|
||||||
|
delete_cookie_file(self.datadir)
|
||||||
self.process = subprocess.Popen(self.args + extra_args, stderr=stderr, *args, **kwargs)
|
self.process = subprocess.Popen(self.args + extra_args, stderr=stderr, *args, **kwargs)
|
||||||
self.running = True
|
self.running = True
|
||||||
self.log.debug("bitcoind started, waiting for RPC to come up")
|
self.log.debug("bitcoind started, waiting for RPC to come up")
|
||||||
|
|
|
@ -332,6 +332,12 @@ def get_auth_cookie(datadir):
|
||||||
raise ValueError("No RPC credentials")
|
raise ValueError("No RPC credentials")
|
||||||
return user, password
|
return user, password
|
||||||
|
|
||||||
|
# If a cookie file exists in the given datadir, delete it.
|
||||||
|
def delete_cookie_file(datadir):
|
||||||
|
if os.path.isfile(os.path.join(datadir, "regtest", ".cookie")):
|
||||||
|
logger.debug("Deleting leftover cookie file")
|
||||||
|
os.remove(os.path.join(datadir, "regtest", ".cookie"))
|
||||||
|
|
||||||
def get_bip9_status(node, key):
|
def get_bip9_status(node, key):
|
||||||
info = node.getblockchaininfo()
|
info = node.getblockchaininfo()
|
||||||
return info['bip9_softforks'][key]
|
return info['bip9_softforks'][key]
|
||||||
|
|
Loading…
Reference in a new issue