Browse Source

test suite: minor fixes and cleanups

The MMGen Project 7 months ago
parent
commit
2f6ef808fb

+ 2 - 0
test/cmdtest_d/automount_eth.py

@@ -29,7 +29,9 @@ class CmdTestAutosignETH(CmdTestAutosignThreaded, CmdTestEthdev, CmdTestEthdevMe
 		('addrgen',                'generating addresses'),
 		('addrimport',             'importing addresses'),
 		('addrimport_devaddr',     'importing the dev address'),
+		('addrimport_reth_devaddr','importing the reth dev address'),
 		('fund_devaddr',           'funding the dev address'),
+		('del_reth_devaddr',       'deleting the reth dev address'),
 		('fund_mmgen_addr',        'funding an MMGen address'),
 		('create_tx',              'creating a transaction'),
 		('run_autosign_setup',     'running ‘autosign setup’'),

+ 5 - 1
test/cmdtest_d/ethbump.py

@@ -142,7 +142,10 @@ class CmdTestEthBump(CmdTestEthBumpMethods, CmdTestEthSwapMethods, CmdTestSwapMe
 			('addrgen',             'generating addresses'),
 			('addrimport',          'importing addresses'),
 			('addrimport_devaddr',  'importing the dev address'),
+			('addrimport_reth_devaddr','importing the reth dev address'),
 			('fund_devaddr',        'funding the dev address'),
+			('wait_reth1',          'waiting for block'),
+			('del_reth_devaddr',    'deleting the reth dev address'),
 			('fund_mmgen_addr1',    'funding user address :1)'),
 			('fund_mmgen_addr2',    'funding user address :11)'),
 			('fund_mmgen_addr3',    'funding user address :21)'),
@@ -205,7 +208,7 @@ class CmdTestEthBump(CmdTestEthBumpMethods, CmdTestEthSwapMethods, CmdTestSwapMe
 			('token_deploy_a',   'deploying ERC20 token MM1 (SafeMath)'),
 			('token_deploy_b',   'deploying ERC20 token MM1 (Owned)'),
 			('token_deploy_c',   'deploying ERC20 token MM1 (Token)'),
-			('wait_reth1',       'waiting for block'),
+			('wait_reth2',       'waiting for block'),
 			('token_fund_user',  'transferring token funds from dev to user'),
 			('wait6',            'waiting for block'),
 			('token_addrgen',    'generating token addresses'),
@@ -335,6 +338,7 @@ class CmdTestEthBump(CmdTestEthBumpMethods, CmdTestEthSwapMethods, CmdTestSwapMe
 	def wait_reth1(self):
 		return self._wait_for_block() if self.daemon.id == 'reth' else 'silent'
 
+	wait_reth2 = wait_reth1
 	wait1 = wait2 = wait3 = wait4 = wait5 = wait6 = wait7 = wait8 = CmdTestEthBumpMethods._wait_for_block
 
 	txsign1 = txsign2 = txbump1sign = txbump2sign = CmdTestEthBumpMethods._txsign

+ 6 - 4
test/cmdtest_d/ethswap.py

@@ -99,10 +99,12 @@ class CmdTestEthSwap(CmdTestSwapMethods, CmdTestRegtest):
 	),
 	'eth_init': (
 		'initializing the ETH tracking wallet',
-		('eth_addrgen',             ''),
-		('eth_addrimport',          ''),
-		('eth_addrimport_devaddr',  ''),
-		('eth_fund_devaddr',        ''),
+		('eth_addrgen',                 ''),
+		('eth_addrimport',              ''),
+		('eth_addrimport_devaddr',      ''),
+		('eth_addrimport_reth_devaddr', ''),
+		('eth_fund_devaddr',            ''),
+		('eth_del_reth_devaddr',        ''),
 	),
 	'eth_fund': (
 		'funding the ETH tracking wallet',

+ 1 - 1
test/cmdtest_d/include/group_mgr.py

@@ -108,7 +108,7 @@ class CmdGroupMgr:
 			return [k for k, v in cfgs[str(tmpdir_idx)]['dep_generators'].items()
 						if k in cls.shared_deps and v != cmdname]
 
-		if not 'cmd_group' in cls.__dict__:
+		if not 'cmd_group' in cls.__dict__ and hasattr(cls, 'cmd_group_in'):
 			cls.cmd_group = self.create_cmd_group(cls, sg_name)
 
 		for a, b in cls.cmd_group:

+ 4 - 0
test/cmdtest_d/shared.py

@@ -165,6 +165,7 @@ class CmdTestShared:
 			bogus_send   = True,
 			test         = False,
 			quiet        = False,
+			contract_addr = None,
 			has_label    = False):
 
 		txdo = (caller or self.test_name)[:4] == 'txdo'
@@ -189,6 +190,9 @@ class CmdTestShared:
 			assert len(txid) == 64, f'{txid!r}: Incorrect txid length!'
 
 		if not test:
+			if contract_addr:
+				_ = strip_ansi_escapes(t.expect_getend('Contract address: '))
+				assert _ == contract_addr, f'Contract address mismatch: {_} != {contract_addr}'
 			t.written_to_file(file_desc)
 
 		return txid

+ 25 - 7
test/test-release.d/cfg.sh

@@ -176,8 +176,6 @@ init_tests() {
 		btc $cmdtest_py autosign_clean autosign_automount autosign_btc
 		-   $cmdtest_py --coin=bch autosign_automount
 		ltc $cmdtest_py --coin=ltc autosign_automount
-		-   $cmdtest_py --coin=eth autosign_eth
-		etc $cmdtest_py --coin=etc autosign_eth
 	"
 	if [ "$SKIP_ALT_DEP" ]; then t_autosign_skip='- ltc etc'; else t_autosign_skip='btc'; fi
 	[ "$FAST" ] && t_autosign_skip+=' ltc etc'
@@ -188,7 +186,21 @@ init_tests() {
 
 	d_btc="overall operations with emulated RPC data (Bitcoin)"
 	t_btc="
-		- $cmdtest_py --exclude regtest,autosign,autosign_clean,autosign_automount,ref_altcoin,help
+		- $cmdtest_py misc
+		- $cmdtest_py opts
+		- $cmdtest_py cfgfile
+		- $cmdtest_py help
+		- $cmdtest_py main
+		- $cmdtest_py conv
+		- $cmdtest_py ref
+		- $cmdtest_py ref3
+		- $cmdtest_py ref3_addr
+		- $cmdtest_py ref3_pw
+		- $cmdtest_py ref_altcoin
+		- $cmdtest_py seedsplit
+		- $cmdtest_py tool
+		- $cmdtest_py input
+		- $cmdtest_py output
 		- $cmdtest_py --segwit
 		- $cmdtest_py --segwit-random
 		- $cmdtest_py --bech32
@@ -202,10 +214,11 @@ init_tests() {
 		- $cmdtest_py --testnet=1 --bech32
 	"
 
-	d_btc_rt="overall operations using the regtest network (Bitcoin)"
+	d_btc_rt="overall operations using the regtest network (Bitcoin, multicoin)"
 	t_btc_rt="
 		- $cmdtest_py regtest
 		x $cmdtest_py regtest_legacy
+		- $cmdtest_py swap
 	"
 	[ "$FAST" ]  && t_btc_skip='x'
 
@@ -245,13 +258,18 @@ init_tests() {
 
 	d_eth="operations for Ethereum using devnet"
 	t_eth="
-		geth $cmdtest_py --coin=eth --eth-daemon-id=geth ethdev ethbump
-		reth $cmdtest_py --coin=eth --eth-daemon-id=reth ethdev ethbump
+		geth $cmdtest_py --coin=btc --eth-daemon-id=geth ethswap
+		geth $cmdtest_py --coin=eth --eth-daemon-id=geth autosign_eth ethbump ethdev
+		reth $cmdtest_py --coin=btc --eth-daemon-id=reth ethswap
+		reth $cmdtest_py --coin=eth --eth-daemon-id=reth autosign_eth ethbump ethdev
 	"
 	[ "$FAST" ]  && t_eth_skip='reth'
 
 	d_etc="operations for Ethereum Classic using devnet"
-	t_etc="parity $cmdtest_py --coin=etc ethdev"
+	t_etc="
+		parity $cmdtest_py --coin=etc autosign_eth
+		parity $cmdtest_py --coin=etc ethdev
+	"
 	[ "$SKIP_PARITY" ] && t_etc_skip='parity'
 
 	d_xmr="Monero xmrwallet operations"