_TAGS_EXPANDED = {'<EXPANDED>', '</EXPANDED>'}
-def run_tests() -> None:
+def run_tests(selector: str) -> None:
'Run tests from tests directory.'
- paths = tuple(_PATH_TESTS.iterdir())
+ paths = tuple(p for p in _PATH_TESTS.iterdir()
+ if p.parts[-1].startswith(selector)
+ or ('.' in selector
+ and selector.split('.')[0] + _EXT_DAT == p.parts[-1]))
def run_tests_on_dat(dat_path: Path, server: PlomHttpServer) -> None:
_ARG_TEST = 'test'
+_ARG_TEST_SEP = ':'
_NAME_ENV_LEDGER_DAT = 'LEDGER_DAT'
_LEDGER_DAT = environ.get(_NAME_ENV_LEDGER_DAT)
print(f'{_NAME_ENV_LEDGER_DAT} environment variable not set.')
sys_exit(1)
Server(Path(_LEDGER_DAT)).serve()
- elif len(argv) == 2:
- if argv[1] != _ARG_TEST:
- print('fail: unknown arg argument')
- sys_exit(1)
- run_tests()
+ elif len(argv) == 2 and (argv[1] == _ARG_TEST
+ or argv[1].startswith(_ARG_TEST + _ARG_TEST_SEP)):
+ run_tests('' if argv[1] == _ARG_TEST
+ else argv[1].split(_ARG_TEST_SEP, maxsplit=1)[1])
else:
- print('fail: expected zero or one arguments')
+ print(f'fail: expected zero arguments or one "{_ARG_TEST}" argument')
sys_exit(1)