Browse Source

test suite: minor changes, fixes

The MMGen Project 3 years ago
parent
commit
921a338fe5
3 changed files with 27 additions and 28 deletions
  1. 3 1
      test/overlay/__init__.py
  2. 13 21
      test/test-release.sh
  3. 11 6
      test/unit_tests_d/ut_rpc.py

+ 3 - 1
test/overlay/__init__.py

@@ -16,7 +16,8 @@ def overlay_setup(repo_root):
 					make_link(
 					make_link(
 						os.path.join(fakemod_dir,fn),
 						os.path.join(fakemod_dir,fn),
 						os.path.join(destdir,fn) )
 						os.path.join(destdir,fn) )
-					link_fn = fn.removesuffix('.py') + '_orig.py'
+#					link_fn = fn.removesuffix('.py') + '_orig.py' # Python 3.9
+					link_fn = fn[:-3] + '_orig.py'
 				else:
 				else:
 					link_fn = fn
 					link_fn = fn
 				make_link(
 				make_link(
@@ -30,6 +31,7 @@ def overlay_setup(repo_root):
 
 
 	if not os.path.exists(os.path.join(overlay_dir,'mmgen','main.py')):
 	if not os.path.exists(os.path.join(overlay_dir,'mmgen','main.py')):
 		sys.stderr.write('Setting up overlay tree\n')
 		sys.stderr.write('Setting up overlay tree\n')
+		shutil.rmtree(overlay_dir,ignore_errors=True)
 		for d in (
 		for d in (
 				'mmgen',
 				'mmgen',
 				'mmgen.data',
 				'mmgen.data',

+ 13 - 21
test/test-release.sh

@@ -34,7 +34,7 @@ python='python3'
 rounds=100 rounds_min=20 rounds_mid=250 rounds_max=500
 rounds=100 rounds_min=20 rounds_mid=250 rounds_max=500
 
 
 dfl_tests='dep misc obj color unit hash ref altref alts xmr eth autosign btc btc_tn btc_rt bch bch_rt ltc ltc_rt tool tool2 gen'
 dfl_tests='dep misc obj color unit hash ref altref alts xmr eth autosign btc btc_tn btc_rt bch bch_rt ltc ltc_rt tool tool2 gen'
-extra_tests='dep autosign_btc autosign_live etc ltc_tn bch_tn'
+extra_tests='dep autosign_btc autosign_live ltc_tn bch_tn'
 noalt_tests='dep misc obj color unit hash ref autosign_btc btc btc_tn btc_rt tool tool2 gen'
 noalt_tests='dep misc obj color unit hash ref autosign_btc btc btc_tn btc_rt tool tool2 gen'
 quick_tests='dep misc obj color unit hash ref altref alts xmr eth autosign btc btc_rt tool tool2 gen'
 quick_tests='dep misc obj color unit hash ref altref alts xmr eth autosign btc btc_rt tool tool2 gen'
 qskip_tests='btc_tn bch bch_rt ltc ltc_rt'
 qskip_tests='btc_tn bch bch_rt ltc ltc_rt'
@@ -74,8 +74,7 @@ do
 		echo   "     altref   - altcoin reference file checks"
 		echo   "     altref   - altcoin reference file checks"
 		echo   "     alts     - operations for all supported gen-only altcoins"
 		echo   "     alts     - operations for all supported gen-only altcoins"
 		echo   "     xmr      - Monero xmrwallet operations"
 		echo   "     xmr      - Monero xmrwallet operations"
-		echo   "     eth      - operations for Ethereum"
-		echo   "     etc      - operations for Ethereum Classic"
+		echo   "     eth      - operations for Ethereum and Ethereum Classic"
 		echo   "     autosign - autosign"
 		echo   "     autosign - autosign"
 		echo   "     btc      - bitcoin"
 		echo   "     btc      - bitcoin"
 		echo   "     btc_tn   - bitcoin testnet"
 		echo   "     btc_tn   - bitcoin testnet"
@@ -321,18 +320,15 @@ t_alts="
 	- #   keyconv
 	- #   keyconv
 	- $gentest_py --all --type=legacy 2:keyconv $rounds
 	- $gentest_py --all --type=legacy 2:keyconv $rounds
 	- $gentest_py --all --type=compressed 2:keyconv $rounds
 	- $gentest_py --all --type=compressed 2:keyconv $rounds
-	- #   ethkey
-	- $gentest_py --all 2:ethkey $rounds
+	e #   ethkey
+	e $gentest_py --all 2:ethkey $rounds
+	m #   moneropy
+	m $gentest_py --all --coin=xmr 2:moneropy $rounds_min # very slow, be patient!
+	z #   zcash-mini
+	z $gentest_py --all 2:zcash-mini $rounds_mid
 "
 "
 
 
-[ "$MSYS2" ] || { # no moneropy (pysha3), zcash-mini (golang)
-	t_alts+="
-		- #   moneropy
-		- $gentest_py --all --coin=xmr 2:moneropy $rounds_min # very slow, be patient!
-		- #   zcash-mini
-		- $gentest_py --all 2:zcash-mini $rounds_mid
-	"
-}
+[ "$MSYS2" ] && t_alts_skip='m z'  # no moneropy (pysha3), zcash-mini (golang)
 
 
 f_alts='Gen-only altcoin tests completed'
 f_alts='Gen-only altcoin tests completed'
 
 
@@ -358,17 +354,13 @@ f_xmr='Monero xmrwallet tests completed'
 i_eth='Ethereum'
 i_eth='Ethereum'
 s_eth='Testing transaction and tracking wallet operations for Ethereum'
 s_eth='Testing transaction and tracking wallet operations for Ethereum'
 t_eth="
 t_eth="
-	- $test_py --coin=eth --daemon-id=openethereum ethdev
-	- $test_py --coin=eth --daemon-id=geth ethdev
+	oe     $test_py --coin=eth --daemon-id=openethereum ethdev
+	geth   $test_py --coin=eth --daemon-id=geth ethdev
+	parity $test_py --coin=etc ethdev
 "
 "
 f_eth='Ethereum tests completed'
 f_eth='Ethereum tests completed'
 
 
-i_etc='Ethereum Classic'
-s_etc='Testing transaction and tracking wallet operations for Ethereum Classic'
-t_etc="
-	- $test_py --coin=etc ethdev
-"
-f_etc='Ethereum Classic tests completed'
+[ "$FAST" ] && t_eth_skip='oe'
 
 
 i_autosign='Autosign'
 i_autosign='Autosign'
 s_autosign='The bitcoin, bitcoin-bchn and litecoin mainnet and testnet daemons must be running for the following test'
 s_autosign='The bitcoin, bitcoin-bchn and litecoin mainnet and testnet daemons must be running for the following test'

+ 11 - 6
test/unit_tests_d/ut_rpc.py

@@ -79,17 +79,17 @@ def run_test(network_ids,test_cf_auth=False,daemon_ids=None):
 
 
 	for network_id in network_ids:
 	for network_id in network_ids:
 		proto = init_proto(network_id=network_id)
 		proto = init_proto(network_id=network_id)
-		daemon_ids = (lambda x:
+		ids = (lambda x:
 			set(daemon_ids) & set(x) if daemon_ids else x
 			set(daemon_ids) & set(x) if daemon_ids else x
 			)(CoinDaemon.coins[proto.coin].daemon_ids)
 			)(CoinDaemon.coins[proto.coin].daemon_ids)
-		for daemon_id in daemon_ids:
+		for daemon_id in ids:
 			do( CoinDaemon(proto=proto,test_suite=True,daemon_id=daemon_id) )
 			do( CoinDaemon(proto=proto,test_suite=True,daemon_id=daemon_id) )
 
 
 	return True
 	return True
 
 
 class unit_tests:
 class unit_tests:
 
 
-	altcoin_deps = ('ltc','bch','eth','etc','xmrwallet')
+	altcoin_deps = ('ltc','bch','geth','erigon','openethereum','parity','xmrwallet')
 	win_skip = ('xmrwallet',) # FIXME - wallet doesn't open
 	win_skip = ('xmrwallet',) # FIXME - wallet doesn't open
 
 
 	def btc(self,name,ut):
 	def btc(self,name,ut):
@@ -101,11 +101,16 @@ class unit_tests:
 	def bch(self,name,ut):
 	def bch(self,name,ut):
 		return run_test(['bch','bch_tn'],test_cf_auth=True)
 		return run_test(['bch','bch_tn'],test_cf_auth=True)
 
 
-	def eth(self,name,ut):
-		run_test(['eth','eth_tn','eth_rt'],daemon_ids=['openethereum','erigon'])
+	def geth(self,name,ut):
 		return run_test(['eth_tn','eth_rt'],daemon_ids=['geth']) # mainnet returns EIP-155 error on empty blockchain
 		return run_test(['eth_tn','eth_rt'],daemon_ids=['geth']) # mainnet returns EIP-155 error on empty blockchain
 
 
-	def etc(self,name,ut):
+	def erigon(self,name,ut):
+		return run_test(['eth','eth_tn','eth_rt'],daemon_ids=['erigon'])
+
+	def openethereum(self,name,ut):
+		return run_test(['eth','eth_tn','eth_rt'],daemon_ids=['openethereum'])
+
+	def parity(self,name,ut):
 		return run_test(['etc'])
 		return run_test(['etc'])
 
 
 	def xmrwallet(self,name,ut):
 	def xmrwallet(self,name,ut):