fix aiohttp regression, add 'rpc_backends' test to test.py

This commit is contained in:
The MMGen Project 2021-03-02 16:43:00 +00:00
commit 4d26511608
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
3 changed files with 43 additions and 24 deletions

View file

@ -885,7 +885,6 @@ def run_session(callback,backend=None):
connector = aiohttp.TCPConnector(limit_per_host=g.aiohttp_rpc_queue_len),
) as g.session:
ret = await callback
g.session = None
return ret
else:
return await callback

View file

@ -362,6 +362,7 @@ cfgs = { # addr_idx_lists (except 31,32,33,34) must contain exactly 8 addresses
'34': {},
'40': {},
'41': {},
'99': {}, # dummy
}
def fixup_cfgs():
@ -490,6 +491,7 @@ def set_restore_term_at_exit():
class CmdGroupMgr(object):
cmd_groups_dfl = {
'misc': ('TestSuiteMisc',{}),
'opts': ('TestSuiteOpts',{'full_data':True}),
'cfg': ('TestSuiteCfg',{'full_data':True}),
'helpscreens': ('TestSuiteHelp',{'modname':'misc','full_data':True}),

View file

@ -26,39 +26,14 @@ from .common import *
from .ts_base import *
from .ts_main import TestSuiteMain
class TestSuiteHelp(TestSuiteBase):
'help, info and usage screens'
networks = ('btc','ltc','bch','eth')
tmpdir_nums = []
passthru_opts = ('daemon_data_dir','rpc_port','coin','testnet')
class TestSuiteMisc(TestSuiteBase):
'miscellaneous tests (RPC backends)'
networks = ('btc',)
tmpdir_nums = [99]
passthru_opts = ('daemon_data_dir','rpc_port')
cmd_group = (
('helpscreens', (1,'help screens', [])),
('longhelpscreens', (1,'help screens (--longhelp)',[])),
('opt_show_hash_presets', (1,'info screen (--show-hash-presets)',[])),
('tool_help', (1,"'mmgen-tool' usage screen",[])),
('test_help', (1,"'test.py' help screens",[])),
('rpc_backends', 'RPC backends'),
)
def helpscreens(self,
arg = '--help',
scripts = ( 'walletgen','walletconv','walletchk','passchg','subwalletgen',
'addrgen','keygen','passgen',
'seedsplit','seedjoin',
'txcreate','txsign','txsend','txdo','txbump',
'addrimport','regtest','autosign')):
for s in scripts:
t = self._run_cmd('mmgen-'+s,[arg],extra_desc='(mmgen-{})'.format(s),no_output=True)
return t
def longhelpscreens(self):
return self.helpscreens(arg='--longhelp')
def opt_show_hash_presets(self):
return self.helpscreens(
arg = '--show-hash-presets',
scripts = (
'walletgen','walletconv','walletchk','passchg','subwalletgen',
'addrgen','keygen','passgen',
'txsign','txdo','txbump'))
def _run_cmd( self, cmd_name,
cmd_args = [],
@ -81,6 +56,49 @@ class TestSuiteHelp(TestSuiteBase):
t.skip_ok = True
return t
def rpc_backends(self):
backends = g.autoset_opts['rpc_backend'][1]
for backend in backends:
t = self._run_cmd('mmgen-tool',[f'--rpc-backend={backend}','daemon_version'],extra_desc=f' ({backend})')
return t
class TestSuiteHelp(TestSuiteMisc,TestSuiteBase):
'help, info and usage screens'
networks = ('btc','ltc','bch','eth')
tmpdir_nums = []
passthru_opts = ('daemon_data_dir','rpc_port','coin','testnet')
cmd_group = (
('helpscreens', (1,'help screens', [])),
('longhelpscreens', (1,'help screens (--longhelp)',[])),
('opt_show_hash_presets', (1,'info screen (--show-hash-presets)',[])),
('tool_help', (1,"'mmgen-tool' usage screen",[])),
('test_help', (1,"'test.py' help screens",[])),
)
def helpscreens(self,
arg = '--help',
scripts = ( 'walletgen','walletconv','walletchk','passchg','subwalletgen',
'addrgen','keygen','passgen',
'seedsplit','seedjoin',
'txcreate','txsign','txsend','txdo','txbump',
'addrimport','autosign')
):
if self.test_name == 'helpscreens' and self.proto.base_coin != 'ETH':
scripts += ('regtest',)
for s in scripts:
t = self._run_cmd('mmgen-'+s,[arg],extra_desc='(mmgen-{})'.format(s),no_output=True)
return t
def longhelpscreens(self):
return self.helpscreens(arg='--longhelp')
def opt_show_hash_presets(self):
return self.helpscreens(
arg = '--show-hash-presets',
scripts = (
'walletgen','walletconv','walletchk','passchg','subwalletgen',
'addrgen','keygen','passgen',
'txsign','txdo','txbump'))
def tool_help(self):
self._run_cmd('mmgen-tool',['--help'],extra_desc="('mmgen-tool --help')")
self._run_cmd('mmgen-tool',['--longhelp'],extra_desc="('mmgen-tool --longhelp')")