test suite: remove datadir after stopping daemons

This commit is contained in:
The MMGen Project 2024-12-30 11:31:40 +00:00
commit 3f5ce98fda
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
8 changed files with 12 additions and 8 deletions

View file

@ -186,7 +186,7 @@ class CmdTestAutosignBase(CmdTestBase):
def stop_daemons(self):
self.spawn('', msg_only=True)
stop_test_daemons(*self.network_ids)
stop_test_daemons(*self.network_ids, remove_datadir=True)
return 'ok'
def run_setup(

View file

@ -1493,7 +1493,7 @@ class CmdTestEthdev(CmdTestBase, CmdTestShared):
def stop(self):
self.spawn('', msg_only=True)
if not cfg.no_daemon_stop:
if not stop_test_daemons(self.proto.coin+'_rt'):
if not stop_test_daemons(self.proto.coin+'_rt', remove_datadir=True):
return False
set_vt100()
return 'ok'

View file

@ -141,7 +141,7 @@ class CmdTestMisc(CmdTestBase):
if cfg.pexpect_spawn:
t.send('q')
if not cfg.no_altcoin:
stop_test_daemons('ltc', 'eth')
stop_test_daemons('ltc', 'eth', remove_datadir=True)
return t
def term_echo(self):

View file

@ -113,7 +113,7 @@ class CmdTestRefAltcoin(CmdTestRef, CmdTestBase):
t.read()
t.ok()
if proto.sign_mode == 'daemon' and not proto.network_id == 'btc':
stop_test_daemons(proto.network_id)
stop_test_daemons(proto.network_id, remove_datadir=True)
return 'ok'
def ref_altcoin_addrgen(

View file

@ -113,4 +113,4 @@ class unit_tests:
return self._test_cmd(['start'], 'Checking status of coin daemons...')
def stop(self, name, ut):
return self._test_cmd(['stop'], 'Stopping coin daemons...')
return self._test_cmd(['stop', '--remove-datadir'], 'Stopping coin daemons...')

View file

@ -116,7 +116,7 @@ async def run_test(network_id, chksum, msghash_type='raw'):
msg(m.format(single_addr_coin))
if m.proto.sign_mode == 'daemon':
stop_test_daemons(network_id)
stop_test_daemons(network_id, remove_datadir=True)
msg('\n')

View file

@ -43,6 +43,7 @@ opts_data = {
-m, --mainnet-only Perform operations for mainnet daemons only
-n, --no-daemonize Don't fork daemon to background
-p, --port-shift= Shift the RPC port by this number
-r, --remove-datadir Remove the datadir(s) after stopping the daemon(s)
-s, --get-state Get the state of the daemon(s) and exit
-t, --testing Testing mode. Print commands but don't execute them
-q, --quiet Produce quieter output
@ -99,7 +100,7 @@ def run(network_id=None, proto=None, daemon_id=None, missing_exec_ok=False):
return
d.debug = d.debug or cfg.debug
d.wait = not cfg.no_wait
d.wait = cfg.remove_datadir or not cfg.no_wait
if missing_exec_ok:
try:
@ -121,6 +122,9 @@ def run(network_id=None, proto=None, daemon_id=None, missing_exec_ok=False):
async_run(d.rpc.stop_daemon(quiet=cfg.quiet))
else:
d.cmd(action, quiet=cfg.quiet)
if action == 'stop' and cfg.remove_datadir:
cfg._util.vmsg(f'Removing ‘{d.datadir}')
d.remove_datadir()
def main():

View file

@ -296,7 +296,7 @@ def stop_test_daemons(*network_ids, force=False, remove_datadir=False):
return test_daemons_ops(*network_ids, op='stop', remove_datadir=remove_datadir)
def restart_test_daemons(*network_ids, remove_datadir=False):
if not stop_test_daemons(*network_ids):
if not stop_test_daemons(*network_ids, remove_datadir=remove_datadir):
return False
return start_test_daemons(*network_ids, remove_datadir=remove_datadir)