cmdtest.py: add/improve expect strings for non-zero exit_vals
This commit is contained in:
parent
6cb2caea59
commit
12b830a104
4 changed files with 38 additions and 33 deletions
|
|
@ -1 +1 @@
|
|||
14.1.dev19
|
||||
14.1.dev20
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ class CmdTestAutosignAutomount(CmdTestAutosignThreaded, CmdTestRegtestBDBWallet)
|
|||
|
||||
self.opts.append('--alice')
|
||||
|
||||
def _alice_txcreate(self, chg_addr, opts=[], exit_val=0):
|
||||
def _alice_txcreate(self, chg_addr, opts=[], exit_val=0, expect=None):
|
||||
self.insert_device_online()
|
||||
sid = self._user_sid('alice')
|
||||
t = self.spawn(
|
||||
|
|
@ -100,6 +100,8 @@ class CmdTestAutosignAutomount(CmdTestAutosignThreaded, CmdTestRegtestBDBWallet)
|
|||
inputs = '1',
|
||||
interactive_fee = '32s',
|
||||
file_desc = 'Unsigned automount transaction')
|
||||
if expect:
|
||||
t.expect(expect)
|
||||
t.read()
|
||||
self.remove_device_online()
|
||||
return t
|
||||
|
|
@ -117,41 +119,40 @@ class CmdTestAutosignAutomount(CmdTestAutosignThreaded, CmdTestRegtestBDBWallet)
|
|||
return 'skip'
|
||||
return self._alice_txcreate(chg_addr='L:4')
|
||||
|
||||
def _alice_txsend_abort(self, err=False, user_exit=False, del_expect=[]):
|
||||
def _alice_txsend_abort(self, err=False, send_resp='y', expect=None, shred_expect=[]):
|
||||
self.insert_device_online()
|
||||
t = self.spawn(
|
||||
'mmgen-txsend',
|
||||
['--quiet', '--abort'],
|
||||
exit_val = 2 if err else 1 if user_exit else None)
|
||||
exit_val = 2 if err else 1 if send_resp == 'n' else None)
|
||||
if err:
|
||||
t.expect('No unsent transactions')
|
||||
t.expect(expect)
|
||||
else:
|
||||
t.expect('(y/N): ', 'n' if user_exit else 'y')
|
||||
if user_exit:
|
||||
t.expect('Exiting at user request')
|
||||
else:
|
||||
for pat in del_expect:
|
||||
t.expect(pat, regex=True)
|
||||
t.expect('(y/N): ', send_resp)
|
||||
if expect:
|
||||
t.expect(expect)
|
||||
for pat in shred_expect:
|
||||
t.expect(pat, regex=True)
|
||||
self.remove_device_online()
|
||||
return t
|
||||
|
||||
def alice_txsend_abort1(self):
|
||||
return self._alice_txsend_abort(del_expect=['Shredding .*arawtx'])
|
||||
return self._alice_txsend_abort(shred_expect=['Shredding .*arawtx'])
|
||||
|
||||
def alice_txsend_abort2(self):
|
||||
return self._alice_txsend_abort(err=True)
|
||||
return self._alice_txsend_abort(err=True, expect='No unsent transactions')
|
||||
|
||||
def alice_txsend_abort3(self):
|
||||
return self._alice_txsend_abort(user_exit=True)
|
||||
return self._alice_txsend_abort(send_resp='n', expect='Exiting at user request')
|
||||
|
||||
def alice_txsend_abort4(self):
|
||||
self._wait_signed('transaction')
|
||||
return self._alice_txsend_abort(del_expect=[r'Shredding .*arawtx', r'Shredding .*asigtx'])
|
||||
return self._alice_txsend_abort(shred_expect=[r'Shredding .*arawtx', r'Shredding .*asigtx'])
|
||||
|
||||
alice_txsend_abort5 = alice_txsend_abort2
|
||||
|
||||
def alice_txcreate_bad_have_unsigned(self):
|
||||
return self._alice_txcreate(chg_addr='C:5', exit_val=2)
|
||||
return self._alice_txcreate(chg_addr='C:5', exit_val=2, expect='already present')
|
||||
|
||||
def copy_wallet(self):
|
||||
self.spawn('', msg_only=True)
|
||||
|
|
|
|||
|
|
@ -155,9 +155,11 @@ class CmdTestCfgFile(CmdTestBase):
|
|||
def old_sample_bad_var(self):
|
||||
d = ['foo true','bar false']
|
||||
write_to_file(self.path('usr'),'\n'.join(d) + '\n')
|
||||
return self.old_sample_common(
|
||||
t = self.old_sample_common(
|
||||
old_set = True,
|
||||
pexpect_spawn = not sys.platform == 'win32')
|
||||
t.expect('unrecognized option')
|
||||
return t
|
||||
|
||||
def _autoset_opts(self, args=[], text='rpc_backend aiohttp\n', exit_val=None):
|
||||
write_to_file( self.path('usr'), text )
|
||||
|
|
@ -170,14 +172,16 @@ class CmdTestCfgFile(CmdTestBase):
|
|||
def autoset_opts_cmdline(self):
|
||||
return self._autoset_opts(args=['--rpc-backend=curl','autoset_opts_cmdline'])
|
||||
|
||||
def _autoset_opts_bad(self,kwargs):
|
||||
return self._autoset_opts(exit_val=1, **kwargs)
|
||||
def _autoset_opts_bad(self, expect, kwargs):
|
||||
t = self._autoset_opts(exit_val=1, **kwargs)
|
||||
t.expect(expect)
|
||||
return t
|
||||
|
||||
def autoset_opts_bad(self):
|
||||
return self._autoset_opts_bad({'text':'rpc_backend foo\n'})
|
||||
return self._autoset_opts_bad('not unique substring', {'text':'rpc_backend foo\n'})
|
||||
|
||||
def autoset_opts_bad_cmdline(self):
|
||||
return self._autoset_opts_bad({'args':['--rpc-backend=foo']})
|
||||
return self._autoset_opts_bad('not unique substring', {'args':['--rpc-backend=foo']})
|
||||
|
||||
def coin_specific_vars(self):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ class CmdTestSeedSplit(CmdTestBase):
|
|||
|
||||
def ss_bad_invocation(self,cmd,args,exit_val,errmsg):
|
||||
t = self.spawn(cmd, args, exit_val=exit_val)
|
||||
t.expect(errmsg)
|
||||
t.expect(errmsg, regex=True)
|
||||
return t
|
||||
|
||||
def ss_3way_join_dfl_bad_invocation(self):
|
||||
|
|
@ -256,44 +256,44 @@ class CmdTestSeedSplit(CmdTestBase):
|
|||
|
||||
def ss_bad_invocation1(self):
|
||||
return self.ss_bad_invocation(
|
||||
'mmgen-seedsplit',[],1,'MMGenSystemExit(1)')
|
||||
'mmgen-seedsplit', [], 1, 'USAGE:')
|
||||
|
||||
def ss_bad_invocation2(self):
|
||||
return self.ss_bad_invocation(
|
||||
'mmgen-seedsplit',['-M1','1:9'],1,'MMGenSystemExit(1)')
|
||||
'mmgen-seedsplit', ['-M1', '1:9'], 1, 'meaningless in master share context')
|
||||
|
||||
def ss_bad_invocation3(self):
|
||||
return self.ss_bad_invocation(
|
||||
'mmgen-seedsplit',[self.tmpdir+'/no.mmdat','1:9'],1,'FileNotFound')
|
||||
'mmgen-seedsplit', [self.tmpdir+'/no.mmdat', '1:9'], 1, 'input file .* not found')
|
||||
|
||||
def ss_bad_invocation4(self):
|
||||
return self.ss_bad_invocation(
|
||||
'mmgen-seedsplit',[self.tmpdir+'/dfl.sid','1:9'],1,'BadFileExtension')
|
||||
'mmgen-seedsplit', [self.tmpdir+'/dfl.sid', '1:9'], 1, 'unrecognized .* extension')
|
||||
|
||||
def ss_bad_invocation5(self):
|
||||
return self.ss_bad_invocation(
|
||||
'mmgen-seedjoin',[],1,'MMGenSystemExit(1)')
|
||||
'mmgen-seedjoin', [], 1, 'USAGE:')
|
||||
|
||||
def ss_bad_invocation6(self):
|
||||
return self.ss_bad_invocation(
|
||||
'mmgen-seedjoin',[self.tmpdir+'/a'],1,'MMGenSystemExit(1)')
|
||||
'mmgen-seedjoin', [self.tmpdir+'/a'], 1, 'USAGE:')
|
||||
|
||||
def ss_bad_invocation7(self):
|
||||
return self.ss_bad_invocation(
|
||||
'mmgen-seedjoin',[self.tmpdir+'/a',self.tmpdir+'/b'],1,'BadFileExtension')
|
||||
'mmgen-seedjoin', [self.tmpdir+'/a', self.tmpdir+'/b'], 1, 'unrecognized .* extension')
|
||||
|
||||
def ss_bad_invocation8(self):
|
||||
return self.ss_bad_invocation(
|
||||
'mmgen-seedjoin',[self.tmpdir+'/a.mmdat',self.tmpdir+'/b.mmdat'],1,'FileNotFound')
|
||||
'mmgen-seedjoin', [self.tmpdir+'/a.mmdat', self.tmpdir+'/b.mmdat'], 1, 'input file .* not found')
|
||||
|
||||
def ss_bad_invocation9(self):
|
||||
return self.ss_bad_invocation(
|
||||
'mmgen-seedsplit',['x'],1,'MMGenSystemExit(1)')
|
||||
'mmgen-seedsplit', ['x'], 1, 'USAGE:')
|
||||
|
||||
def ss_bad_invocation10(self):
|
||||
return self.ss_bad_invocation(
|
||||
'mmgen-seedsplit',[self.tmpdir+'/a.mmdat','1:2'],1,'FileNotFound')
|
||||
'mmgen-seedsplit', [self.tmpdir+'/a.mmdat', '1:2'], 1, 'input file .* not found')
|
||||
|
||||
def ss_bad_invocation11(self):
|
||||
return self.ss_bad_invocation(
|
||||
'mmgen-seedsplit',[self.tmpdir+'/dfl.sid','1:2'],1,'BadFileExtension')
|
||||
'mmgen-seedsplit', [self.tmpdir+'/dfl.sid', '1:2'], 1, 'unrecognized .* extension')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue