diff --git a/test/cmdtest_py_d/ct_opts.py b/test/cmdtest_py_d/ct_opts.py index 5c2122dc..af710736 100755 --- a/test/cmdtest_py_d/ct_opts.py +++ b/test/cmdtest_py_d/ct_opts.py @@ -66,8 +66,7 @@ class CmdTestOpts(CmdTestBase): ('cfg.cached_balances', 'False'), ('cfg.minconf', '1'), ('cfg.fee_estimate_mode', 'conservative'), # _autoset_opts - ) - ) + )) def opt_good(self): pf_base = 'testfile' @@ -81,8 +80,7 @@ class CmdTestOpts(CmdTestBase): '--outdir='+self.tmpdir, '--cached-balances', f'--hidden-incog-input-params={pf},123', - ], - ( + ], ( ('cfg.print_checksum', 'True'), ('cfg.quiet', 'True'), # set by print_checksum ('cfg.passwd_file', pf), @@ -90,8 +88,7 @@ class CmdTestOpts(CmdTestBase): ('cfg.cached_balances', 'True'), ('cfg.hidden_incog_input_params', pf+',123'), ('cfg.fee_estimate_mode', 'economical'), - ) - ) + )) def opt_bad_infile(self): pf = os.path.join(self.tmpdir,'fubar') diff --git a/test/cmdtest_py_d/ct_ref_3seed.py b/test/cmdtest_py_d/ct_ref_3seed.py index a87394e0..29722992 100755 --- a/test/cmdtest_py_d/ct_ref_3seed.py +++ b/test/cmdtest_py_d/ct_ref_3seed.py @@ -388,31 +388,39 @@ class CmdTestRef3Addr(CmdTestRef3Seed): def refaddrgen_legacy(self): return self.call_addrgen('legacy') + def refaddrgen_compressed(self): return self.call_addrgen('compressed') + def refaddrgen_segwit(self): - if cfg.coin == 'BCH': - return 'skip' - return self.call_addrgen('segwit') + if self.proto.cap('segwit'): + return self.call_addrgen('segwit') + return 'skip' + def refaddrgen_bech32(self): - if cfg.coin == 'BCH': - return 'skip' - return self.call_addrgen('bech32') + if self.proto.cap('segwit'): + return self.call_addrgen('bech32') + return 'skip' def refkeyaddrgen_legacy(self): return self.call_addrgen('legacy', 'keyaddrgen') + def refkeyaddrgen_compressed(self): return self.call_addrgen('compressed', 'keyaddrgen') + def refkeyaddrgen_segwit(self): - if cfg.coin == 'BCH': - return 'skip' - return self.call_addrgen('segwit', 'keyaddrgen') + if self.proto.cap('segwit'): + return self.call_addrgen('segwit', 'keyaddrgen') + return 'skip' + def refkeyaddrgen_bech32(self): - if cfg.coin == 'BCH': - return 'skip' - return self.call_addrgen('bech32', 'keyaddrgen') + if self.proto.cap('segwit'): + return self.call_addrgen('bech32', 'keyaddrgen') + return 'skip' def pwgen(self, ftype, id_str, pwfmt=None, pwlen=None, extra_opts=[], stdout=False): + if self.coin != 'btc' or self.proto.testnet: + return 'skip' wf = self.get_file_with_ext('mmdat') pwfmt = ([f'--passwd-fmt={pwfmt}'] if pwfmt else []) pwlen = ([f'--passwd-len={pwlen}'] if pwlen else []) @@ -422,18 +430,21 @@ class CmdTestRef3Addr(CmdTestRef3Seed): ftype = ftype, id_str = id_str, extra_opts = pwfmt + pwlen + extra_opts, - stdout = stdout) + stdout = stdout, + no_passthru_opts = True) def refpasswdgen(self): return self.pwgen('pass','alice@crypto.org') + def refpasswdgen_half(self): - return self.pwgen('pass','alice@crypto.org',pwlen='h') + return self.pwgen('pass', 'alice@crypto.org', pwlen='h') + def ref_b32passwdgen(self): - return self.pwgen('pass32','фубар@crypto.org','b32',17) + return self.pwgen('pass32', 'фубар@crypto.org', 'b32', 17) def ref_hexpasswdgen(self): - pwlen = {'1':32,'2':48,'3':64}[self.test_name[-1]] - return self.pwgen('passhex','фубар@crypto.org','hex',pwlen) + pwlen = {'1':32, '2':48, '3':64}[self.test_name[-1]] + return self.pwgen('passhex', 'фубар@crypto.org', 'hex', pwlen) def ref_hexpasswdgen_half(self): return self.pwgen('passhex', 'фубар@crypto.org', 'hex', 'h', ['--accept-defaults'], stdout=True) @@ -448,12 +459,16 @@ class CmdTestRef3Addr(CmdTestRef3Seed): return self.pwgen(ftype, 'фубар@crypto.org', pwfmt, pwlen, ['--accept-defaults']) def ref_bip39_12_passwdgen(self): - return self.mn_pwgen(12,'bip39') + return self.mn_pwgen(12, 'bip39') + def ref_bip39_18_passwdgen(self): - return self.mn_pwgen(18,'bip39') + return self.mn_pwgen(18, 'bip39') + def ref_bip39_24_passwdgen(self): - return self.mn_pwgen(24,'bip39') + return self.mn_pwgen(24, 'bip39') + def ref_hex2bip39_24_passwdgen(self): - return self.mn_pwgen(24,'hex2bip39') + return self.mn_pwgen(24, 'hex2bip39') + def ref_xmrseed_25_passwdgen(self): - return self.mn_pwgen(24,'xmrseed',ftype='passxmrseed') + return self.mn_pwgen(24, 'xmrseed', ftype='passxmrseed') diff --git a/test/cmdtest_py_d/ct_shared.py b/test/cmdtest_py_d/ct_shared.py index 53e1c99c..061b482b 100755 --- a/test/cmdtest_py_d/ct_shared.py +++ b/test/cmdtest_py_d/ct_shared.py @@ -257,7 +257,8 @@ class CmdTestShared: extra_opts = [], mmtype = None, stdout = False, - dfl_wallet = False): + dfl_wallet = False, + no_passthru_opts = False): list_type = ftype[:4] passgen = list_type == 'pass' if not mmtype and not passgen: @@ -270,7 +271,8 @@ class CmdTestShared: ([],[wf])[bool(wf)] + ([],[id_str])[bool(id_str)] + [getattr(self,f'{list_type}_idx_list')], - extra_desc=f'({mmtype})' if mmtype in ('segwit','bech32') else '') + extra_desc = f'({mmtype})' if mmtype in ('segwit','bech32') else '', + no_passthru_opts = no_passthru_opts) t.license() wcls = get_wallet_cls( ext = 'mmdat' if dfl_wallet else get_extension(wf) ) t.passphrase(wcls.desc,self.wpasswd) diff --git a/test/test-release.d/cfg.sh b/test/test-release.d/cfg.sh index bab59536..c18200da 100755 --- a/test/test-release.d/cfg.sh +++ b/test/test-release.d/cfg.sh @@ -148,17 +148,6 @@ init_tests() { # ARM ethkey available only on Arch Linux: [ \( "$ARM32" -o "$ARM64" \) -a "$DISTRO" != 'archarm' ] && t_altgen_skip+=' e' - d_xmr="Monero xmrwallet operations" - t_xmr=" - - $HTTP_LONG_TIMEOUT$cmdtest_py$PEXPECT_LONG_TIMEOUT --coin=xmr - " - - d_eth="operations for Ethereum using devnet" - t_eth="geth $cmdtest_py --coin=eth ethdev" - - d_etc="operations for Ethereum Classic using devnet" - t_etc="parity $cmdtest_py --coin=etc ethdev" - d_autosign="transaction autosigning with automount" t_autosign=" - $cmdtest_py autosign_clean autosign_automount autosign @@ -193,8 +182,9 @@ init_tests() { d_btc_rt="overall operations using the regtest network (Bitcoin)" t_btc_rt=" - $cmdtest_py regtest - - $cmdtest_py regtest_legacy + x $cmdtest_py regtest_legacy " + [ "$FAST" ] && t_btc_skip='x' d_bch="overall operations with emulated RPC data (Bitcoin Cash Node)" t_bch=" @@ -230,6 +220,17 @@ init_tests() { d_ltc_rt="overall operations using the regtest network (Litecoin)" t_ltc_rt="- $cmdtest_py --coin=ltc regtest" + d_eth="operations for Ethereum using devnet" + t_eth="geth $cmdtest_py --coin=eth ethdev" + + d_etc="operations for Ethereum Classic using devnet" + t_etc="parity $cmdtest_py --coin=etc ethdev" + + d_xmr="Monero xmrwallet operations" + t_xmr=" + - $HTTP_LONG_TIMEOUT$cmdtest_py$PEXPECT_LONG_TIMEOUT --coin=xmr --exclude help + " + d_tool2="'mmgen-tool' utility with data check" t_tool2=" - $tooltest2_py --tool-api # test the tool_api subsystem