Tests: TestUnit class removed.

Prerequisite checks moved to the fixture in conftest.py.
This commit is contained in:
Andrei Zeliankou
2020-12-09 16:17:46 +00:00
parent 4c846ae693
commit 7be62c3c21
3 changed files with 35 additions and 38 deletions

View File

@@ -184,6 +184,40 @@ def pytest_runtest_makereport(item, call):
setattr(item, "rep_" + rep.when, rep)
@pytest.fixture(scope='class', autouse=True)
def check_prerequisites(request):
cls = request.cls
missed = []
# check modules
if 'modules' in cls.prerequisites:
available_modules = list(option.available['modules'].keys())
for module in cls.prerequisites['modules']:
if module in available_modules:
continue
missed.append(module)
if missed:
pytest.skip('Unit has no ' + ', '.join(missed) + ' module(s)')
# check features
if 'features' in cls.prerequisites:
available_features = list(option.available['features'].keys())
for feature in cls.prerequisites['features']:
if feature in available_features:
continue
missed.append(feature)
if missed:
pytest.skip(', '.join(missed) + ' feature(s) not supported')
@pytest.fixture(autouse=True)
def run(request):
unit = unit_run()