Browse Source

qa: Cache only chain and wallet for regtest datadir

Github-Pull: #12638
Rebased-From: fa2310572f
tags/v0.16.1
MarcoFalke 2 years ago
parent
commit
0a76ed232a

+ 13
- 10
test/functional/test_framework/test_framework.py View File

@@ -24,8 +24,8 @@ from .util import (
check_json_precision,
connect_nodes_bi,
disconnect_nodes,
get_datadir_path,
initialize_datadir,
log_filename,
p2p_port,
set_node_times,
sync_blocks,
@@ -374,7 +374,7 @@ class BitcoinTestFramework():
assert self.num_nodes <= MAX_NODES
create_cache = False
for i in range(MAX_NODES):
if not os.path.isdir(os.path.join(self.options.cachedir, 'node' + str(i))):
if not os.path.isdir(get_datadir_path(self.options.cachedir, i)):
create_cache = True
break

@@ -383,8 +383,8 @@ class BitcoinTestFramework():

# find and delete old cache directories if any exist
for i in range(MAX_NODES):
if os.path.isdir(os.path.join(self.options.cachedir, "node" + str(i))):
shutil.rmtree(os.path.join(self.options.cachedir, "node" + str(i)))
if os.path.isdir(get_datadir_path(self.options.cachedir, i)):
shutil.rmtree(get_datadir_path(self.options.cachedir, i))

# Create cache directories, run bitcoinds:
for i in range(MAX_NODES):
@@ -422,15 +422,18 @@ class BitcoinTestFramework():
self.stop_nodes()
self.nodes = []
self.disable_mocktime()

def cache_path(n, *paths):
return os.path.join(get_datadir_path(self.options.cachedir, n), "regtest", *paths)

for i in range(MAX_NODES):
os.remove(log_filename(self.options.cachedir, i, "debug.log"))
os.remove(log_filename(self.options.cachedir, i, "wallets/db.log"))
os.remove(log_filename(self.options.cachedir, i, "peers.dat"))
os.remove(log_filename(self.options.cachedir, i, "fee_estimates.dat"))
for entry in os.listdir(cache_path(i)):
if entry not in ['wallets', 'chainstate', 'blocks']:
os.remove(cache_path(i, entry))

for i in range(self.num_nodes):
from_dir = os.path.join(self.options.cachedir, "node" + str(i))
to_dir = os.path.join(self.options.tmpdir, "node" + str(i))
from_dir = get_datadir_path(self.options.cachedir, i)
to_dir = get_datadir_path(self.options.tmpdir, i)
shutil.copytree(from_dir, to_dir)
initialize_datadir(self.options.tmpdir, i) # Overwrite port/rpcport in bitcoin.conf


+ 0
- 3
test/functional/test_framework/util.py View File

@@ -319,9 +319,6 @@ def get_auth_cookie(datadir):
raise ValueError("No RPC credentials")
return user, password

def log_filename(dirname, n_node, logname):
return os.path.join(dirname, "node" + str(n_node), "regtest", logname)

def get_bip9_status(node, key):
info = node.getblockchaininfo()
return info['bip9_softforks'][key]

Loading…
Cancel
Save