Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/conftest.py
Show First 20 Lines • Show All 153 Lines • ▼ Show 20 Lines | if seed is None: | ||||
seed = time.time() | seed = time.time() | ||||
seed = int(seed) | seed = int(seed) | ||||
cache.set(_random_seed_cache_key, seed) | cache.set(_random_seed_cache_key, seed) | ||||
random.seed(seed) | random.seed(seed) | ||||
yield seed | yield seed | ||||
random.setstate(state) | random.setstate(state) | ||||
def pytest_report_teststatus(report, config): | def pytest_report_teststatus(report, *args): | ||||
if report.when == "call" and report.outcome == "failed": | if report.when == "call" and report.outcome == "failed": | ||||
seed = cache.get(_random_seed_cache_key, None) | seed = cache.get(_random_seed_cache_key, None) | ||||
line = ( | line = ( | ||||
f'FAILED {report.nodeid}: Use "pytest --swh-web-random-seed={seed} ' | f'FAILED {report.nodeid}: Use "pytest --swh-web-random-seed={seed} ' | ||||
f'{report.nodeid}" to reproduce that test failure with same inputs' | f'{report.nodeid}" to reproduce that test failure with same inputs' | ||||
) | ) | ||||
report.sections.append((_swh_web_custom_section, line)) | report.sections.append((_swh_web_custom_section, line)) | ||||
def pytest_terminal_summary(terminalreporter, exitstatus, config): | def pytest_terminal_summary(terminalreporter, *args): | ||||
reports = terminalreporter.getreports("failed") | reports = terminalreporter.getreports("failed") | ||||
content = os.linesep.join( | content = os.linesep.join( | ||||
text | text | ||||
for report in reports | for report in reports | ||||
for secname, text in report.sections | for secname, text in report.sections | ||||
if secname == _swh_web_custom_section | if secname == _swh_web_custom_section | ||||
) | ) | ||||
if content: | if content: | ||||
▲ Show 20 Lines • Show All 1,020 Lines • Show Last 20 Lines |