Merge #12638: qa: Cache only chain and wallet for regtest datadir

fa23105 qa: Cache only chain and wallet for regtest datadir (MarcoFalke)

Pull request description:

  mempool.dat should be empty and I don't see a need to copy it around when restoring from the cache.

Tree-SHA512: f11ab69732db4dee0e9a0900570464e49085532b0cebc963877057112a7b985c477da3d32eb2093daabac9ada9e73b7c49881681ec5efa6101919b0af76001cf
This commit is contained in:
Wladimir J. van der Laan 2018-03-14 14:18:44 +01:00
commit ce6ffe196e
No known key found for this signature in database
GPG key ID: 1E4AED62986CD25D
2 changed files with 13 additions and 13 deletions

View file

@ -24,8 +24,8 @@ from .util import (
check_json_precision, check_json_precision,
connect_nodes_bi, connect_nodes_bi,
disconnect_nodes, disconnect_nodes,
get_datadir_path,
initialize_datadir, initialize_datadir,
log_filename,
p2p_port, p2p_port,
set_node_times, set_node_times,
sync_blocks, sync_blocks,
@ -382,7 +382,7 @@ class BitcoinTestFramework():
assert self.num_nodes <= MAX_NODES assert self.num_nodes <= MAX_NODES
create_cache = False create_cache = False
for i in range(MAX_NODES): 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 create_cache = True
break break
@ -391,8 +391,8 @@ class BitcoinTestFramework():
# find and delete old cache directories if any exist # find and delete old cache directories if any exist
for i in range(MAX_NODES): for i in range(MAX_NODES):
if os.path.isdir(os.path.join(self.options.cachedir, "node" + str(i))): if os.path.isdir(get_datadir_path(self.options.cachedir, i)):
shutil.rmtree(os.path.join(self.options.cachedir, "node" + str(i))) shutil.rmtree(get_datadir_path(self.options.cachedir, i))
# Create cache directories, run bitcoinds: # Create cache directories, run bitcoinds:
for i in range(MAX_NODES): for i in range(MAX_NODES):
@ -430,15 +430,18 @@ class BitcoinTestFramework():
self.stop_nodes() self.stop_nodes()
self.nodes = [] self.nodes = []
self.disable_mocktime() 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): for i in range(MAX_NODES):
os.remove(log_filename(self.options.cachedir, i, "debug.log")) for entry in os.listdir(cache_path(i)):
os.remove(log_filename(self.options.cachedir, i, "wallets/db.log")) if entry not in ['wallets', 'chainstate', 'blocks']:
os.remove(log_filename(self.options.cachedir, i, "peers.dat")) os.remove(cache_path(i, entry))
os.remove(log_filename(self.options.cachedir, i, "fee_estimates.dat"))
for i in range(self.num_nodes): for i in range(self.num_nodes):
from_dir = os.path.join(self.options.cachedir, "node" + str(i)) from_dir = get_datadir_path(self.options.cachedir, i)
to_dir = os.path.join(self.options.tmpdir, "node" + str(i)) to_dir = get_datadir_path(self.options.tmpdir, i)
shutil.copytree(from_dir, to_dir) shutil.copytree(from_dir, to_dir)
initialize_datadir(self.options.tmpdir, i) # Overwrite port/rpcport in bitcoin.conf initialize_datadir(self.options.tmpdir, i) # Overwrite port/rpcport in bitcoin.conf

View file

@ -328,9 +328,6 @@ def get_auth_cookie(datadir):
raise ValueError("No RPC credentials") raise ValueError("No RPC credentials")
return user, password 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): def get_bip9_status(node, key):
info = node.getblockchaininfo() info = node.getblockchaininfo()
return info['bip9_softforks'][key] return info['bip9_softforks'][key]