Tests: isolation check moved to the pytest_sessionstart().

This change eliminates the need for some classes
to run Unit one more time before running tests.
This commit is contained in:
Andrei Zeliankou
2020-12-09 16:15:50 +00:00
parent 783cdc2a3d
commit 4c846ae693
10 changed files with 197 additions and 259 deletions

View File

@@ -4,39 +4,33 @@ from unit.option import option
class TestUnit():
@classmethod
def setup_class(cls, complete_check=True):
def check():
missed = []
def setup_class(cls):
missed = []
# check modules
# check modules
if 'modules' in cls.prerequisites:
available_modules = list(option.available['modules'].keys())
if 'modules' in cls.prerequisites:
available_modules = list(option.available['modules'].keys())
for module in cls.prerequisites['modules']:
if module in available_modules:
continue
for module in cls.prerequisites['modules']:
if module in available_modules:
continue
missed.append(module)
missed.append(module)
if missed:
pytest.skip('Unit has no ' + ', '.join(missed) + ' module(s)')
if missed:
pytest.skip('Unit has no ' + ', '.join(missed) + ' module(s)')
# check features
# check features
if 'features' in cls.prerequisites:
available_features = list(option.available['features'].keys())
if 'features' in cls.prerequisites:
available_features = list(option.available['features'].keys())
for feature in cls.prerequisites['features']:
if feature in available_features:
continue
for feature in cls.prerequisites['features']:
if feature in available_features:
continue
missed.append(feature)
missed.append(feature)
if missed:
pytest.skip(', '.join(missed) + ' feature(s) not supported')
if complete_check:
check()
else:
return check
if missed:
pytest.skip(', '.join(missed) + ' feature(s) not supported')