--fork cli option: fix the case of unset directory path + validate fork name

This commit is contained in:
Hsiao-Wei Wang 2021-10-21 11:37:02 +08:00
parent a20f6f7b5f
commit cb513aa82d
No known key found for this signature in database
GPG Key ID: 1111A8A81778319E
1 changed files with 14 additions and 4 deletions

View File

@ -49,6 +49,15 @@ def pytest_addoption(parser):
) )
def _validate_fork_name(forks):
for fork in forks:
if fork not in ALL_PHASES:
raise ValueError(
f'The given --fork argument "{fork}" is not an available fork.'
f' The available forks: {ALL_PHASES}'
)
@fixture(autouse=True) @fixture(autouse=True)
def preset(request): def preset(request):
context.DEFAULT_TEST_PRESET = request.config.getoption("--preset") context.DEFAULT_TEST_PRESET = request.config.getoption("--preset")
@ -56,10 +65,11 @@ def preset(request):
@fixture(autouse=True) @fixture(autouse=True)
def run_phases(request): def run_phases(request):
phases = request.config.getoption("--fork") forks = request.config.getoption("--fork", default=None)
if phases: if forks:
phases = [phase.lower() for phase in phases] forks = [phase.lower() for phase in forks]
context.DEFAULT_PYTEST_FORKS = set(phases) _validate_fork_name(forks)
context.DEFAULT_PYTEST_FORKS = set(forks)
else: else:
context.DEFAULT_PYTEST_FORKS = ALL_PHASES context.DEFAULT_PYTEST_FORKS = ALL_PHASES