From b0ae9851e65a327ae5572785ed672e398b9659fe Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Sun, 1 Nov 2026 12:51:06 +0000 Subject: [PATCH] cmdtest.py: new `xmr_compat_dev` test --- test/cmdtest_d/include/cfg.py | 1 + test/cmdtest_d/xmr_autosign.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/test/cmdtest_d/include/cfg.py b/test/cmdtest_d/include/cfg.py index cc2df467..4ce6dfda 100644 --- a/test/cmdtest_d/include/cfg.py +++ b/test/cmdtest_d/include/cfg.py @@ -67,6 +67,7 @@ cmd_groups_extra = { 'create_ref_tx': gd('CmdTestCreateRefTX', {'modname': 'misc', 'full_data': True}), 'xmr_autosign_nocompat': gd('CmdTestXMRAutosignNoCompat', {'modname': 'xmr_autosign'}), 'xmr_watchonly': gd('CmdTestXMRWatchOnly', {'modname': 'xmrwallet'}), + 'xmr_compat_dev': gd('CmdTestXMRCompatDev', {'modname': 'xmr_autosign'}), } cfgs = { # addr_idx_lists (except 31, 32, 33, 34) must contain exactly 8 addresses diff --git a/test/cmdtest_d/xmr_autosign.py b/test/cmdtest_d/xmr_autosign.py index e792ef40..d35ef037 100644 --- a/test/cmdtest_d/xmr_autosign.py +++ b/test/cmdtest_d/xmr_autosign.py @@ -930,3 +930,32 @@ class CmdTestXMRCompat(CmdTestXMRAutosign): t.read() # required! self.remove_device_online() return t + +class CmdTestXMRCompatDev(CmdTestXMRCompat): + """ + Monero autosigning operations (compat mode, for development) + """ + extra_daemons = [] + tx_relay_user = None + user_data = ( + # user sid autosign kal_range add_coind_args + udata('miner', '98831F3A', False, '1', []), + udata('alice', 'FE3C6545', True, '1', [])) + cmd_group = ( + ('autosign_setup', 'autosign setup with user’s seed'), + ('autosign_xmr_setup', 'autosign setup (creation of Monero signing wallet)'), + ('addrimport_user', 'creating (importing) user’s watch-only wallet from key-address file'), + ('gen_kafile_miner', 'generating key-address file for Miner'), + ('gen_vkafile_user', 'generating viewkey-address file for user'), + ('create_wallet_miner', 'creating Monero wallet for Miner'), + ('mine_initial_coins', 'mining initial coins'), + ('fund_user1', 'sending funds to user (wallet #1)'), + ('check_bal_alice', 'mining, checking balance'), + ('user_txcreate1', 'creating a transaction'), + ('wait_loop_start_xmr', 'starting autosign wait loop in XMR compat mode [--coins=xmr]'), + ('wait_signed1', 'autosigning the transaction'), + ('wait_loop_kill', 'stopping autosign wait loop'), + ('stop_daemons', 'stopping all wallet and coin daemons')) + + def wait_loop_start_xmr(self): + return self.wait_loop_start(opts=['--xmrwallet-compat', '--coins=xmr'])