Skip to content

Commit fe419e3

Browse files
author
Mauko Quiroga
committed
Refactor pytest args in test runner
1 parent 8094269 commit fe419e3

1 file changed

Lines changed: 10 additions & 7 deletions

File tree

openfisca_core/tools/test_runner.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,15 @@ def run_tests(tax_benefit_system, paths, options = None):
6464
6565
"""
6666

67-
argv = []
68-
69-
if options.get('pdb'):
70-
argv.append('--pdb')
71-
72-
if isinstance(paths, str):
67+
if not hasattr(paths, "__setitem__"):
7368
paths = [paths]
7469

75-
if options is None:
70+
if not hasattr(options, "__iter__"):
7671
options = {}
7772

73+
#: Check whether pytest args were passed to ``openfisca test``.
74+
argv = [f"--{arg}" for arg, flag in _pytest_args(options) if flag is True]
75+
7876
return pytest.main([*argv, *paths] if True else paths, plugins = [OpenFiscaPlugin(tax_benefit_system, options)])
7977

8078

@@ -285,3 +283,8 @@ def _get_tax_benefit_system(baseline, reforms, extensions):
285283
_tax_benefit_system_cache[key] = current_tax_benefit_system
286284

287285
return current_tax_benefit_system
286+
287+
288+
def _pytest_args(options):
289+
"""Options we pass on to pytest if they're present."""
290+
return ((k, v) for k, v in options.items() if k in {"pdb", "verbose"})

0 commit comments

Comments
 (0)