From 2c4f96e6a47c238c7ddf14ea85edc7b928dbbd5c Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Wed, 7 Oct 2026 16:40:39 +0000 Subject: [PATCH] cfg, opt: improve parsing of regtest opts --- mmgen/cfg.py | 14 +------------- mmgen/main_regtest.py | 2 +- mmgen/opts.py | 4 ++++ test/cmdtest_d/xmrwallet.py | 2 +- 4 files changed, 7 insertions(+), 15 deletions(-) diff --git a/mmgen/cfg.py b/mmgen/cfg.py index c5e0cda9..07c9aa2b 100644 --- a/mmgen/cfg.py +++ b/mmgen/cfg.py @@ -491,23 +491,11 @@ class Config(Lockable): # Step 4: finalize some non-cfg-file opts: self.coin = self.coin.upper() self.token = self.token.upper() if self.token else None - if ( - self.regtest or - self.bob or - self.alice or - self.carol or - self.miner or - gc.prog_name == 'mmgen-regtest'): + if self.test_user or self.regtest: if self.coin != 'XMR': self.network = 'regtest' if gc.prog_name == 'mmgen-regtest' and self.coin != 'BTC': self.bdb_wallet = True - self.test_user = ( - 'bob' if self.bob else - 'alice' if self.alice else - 'carol' if self.carol else - 'miner' if self.miner else - '') if not self.test_suite: # could be set in environment self._use_cfg_file = False else: diff --git a/mmgen/main_regtest.py b/mmgen/main_regtest.py index 35379bf8..e78f9e6f 100644 --- a/mmgen/main_regtest.py +++ b/mmgen/main_regtest.py @@ -58,7 +58,7 @@ opts_data = { } } -cfg = Config(opts_data=opts_data) +cfg = Config(opts_data=opts_data, init_opts={'regtest': True}) cmd_args = cfg._args diff --git a/mmgen/opts.py b/mmgen/opts.py index bbfedfb0..ee557c0c 100644 --- a/mmgen/opts.py +++ b/mmgen/opts.py @@ -23,6 +23,8 @@ from collections import namedtuple from .cfg import gc +test_users = ('bob', 'alice', 'carol', 'miner') + def negated_opts(opts, data={}): if data: return data @@ -75,6 +77,8 @@ def process_uopts(cfg, opts_data, opts, need_proto): if parm: die('CmdlineOptError', f'option --{_opt} requires no parameter') yield (opts[_opt].name, True) + if _opt in test_users: + yield ('test_user', opts[_opt].name) elif ( (_opt := opt) in negated_opts(opts) or (_opt := get_opt_by_substring(_opt, negated_opts(opts)))): diff --git a/test/cmdtest_d/xmrwallet.py b/test/cmdtest_d/xmrwallet.py index ad6abb5e..4f6fb81c 100644 --- a/test/cmdtest_d/xmrwallet.py +++ b/test/cmdtest_d/xmrwallet.py @@ -183,7 +183,7 @@ class CmdTestXMRWallet(CmdTestBase): kal_range, add_coind_args) in self.user_data: - usr_cfg = Config({'_clone': self.cfg, user: True, 'wallet_rpc_password': 'abc'}) + usr_cfg = Config({'_clone': self.cfg, 'test_user': user, 'wallet_rpc_password': 'abc'}) udir = usr_cfg._proto.network_datadir md = CoinDaemon(