ts_misc.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/usr/bin/env python3
  2. #
  3. # mmgen = Multi-Mode GENerator, a command-line cryptocurrency wallet
  4. # Copyright (C)2013-2022 The MMGen Project <mmgen@tuta.io>
  5. # Licensed under the GNU General Public License, Version 3:
  6. # https://www.gnu.org/licenses
  7. # Public project repositories:
  8. # https://github.com/mmgen/mmgen-node-tools
  9. # https://gitlab.com/mmgen/mmgen-node-tools
  10. """
  11. ts_misc.py: Miscellaneous test groups for the test.py test suite
  12. """
  13. from mmgen.globalvars import g
  14. from ..include.common import *
  15. from .common import *
  16. from .ts_base import *
  17. class TestSuiteHelp(TestSuiteBase):
  18. 'help, info and usage screens'
  19. networks = ('btc','ltc','bch')
  20. tmpdir_nums = []
  21. passthru_opts = ('daemon_data_dir','rpc_port','coin','testnet')
  22. cmd_group = (
  23. ('version', (1,'version message',[])),
  24. ('helpscreens', (1,'help screens', [])),
  25. ('longhelpscreens', (1,'help screens (--longhelp)',[])),
  26. )
  27. def version(self):
  28. t = self.spawn(f'mmnode-netrate',['--version'])
  29. t.expect('MMNODE-NETRATE version')
  30. return t
  31. def helpscreens(self,arg='--help',scripts=(),expect='USAGE:.*OPTIONS:'):
  32. scripts = list(scripts) or [s for s in os.listdir('cmds') if s.startswith('mmnode-')]
  33. for s in sorted(scripts):
  34. t = self.spawn(s,[arg],extra_desc=f'({s})')
  35. t.expect(expect,regex=True)
  36. t.read()
  37. t.ok()
  38. t.skip_ok = True
  39. return t
  40. def longhelpscreens(self):
  41. return self.helpscreens(arg='--longhelp',expect='USAGE:.*LONG OPTIONS:')