34 lines
1017 B
Python
34 lines
1017 B
Python
import pytest
|
|
import os
|
|
|
|
kivy_eventloop = os.environ.get('KIVY_EVENTLOOP', 'asyncio')
|
|
|
|
try:
|
|
from .fixtures import kivy_app, kivy_clock, kivy_metrics, \
|
|
kivy_exception_manager
|
|
except SyntaxError:
|
|
# async app tests would be skipped due to async_run forcing it to skip so
|
|
# it's ok to fail here as it won't be used anyway
|
|
pass
|
|
|
|
if kivy_eventloop != 'trio':
|
|
@pytest.fixture()
|
|
def nursery():
|
|
pass
|
|
|
|
|
|
def pytest_runtest_makereport(item, call):
|
|
# from https://docs.pytest.org/en/latest/example/simple.html
|
|
if "incremental" in item.keywords:
|
|
if call.excinfo is not None:
|
|
parent = item.parent
|
|
parent._previousfailed = item
|
|
|
|
|
|
def pytest_runtest_setup(item):
|
|
# from https://docs.pytest.org/en/latest/example/simple.html
|
|
if "incremental" in item.keywords:
|
|
previousfailed = getattr(item.parent, "_previousfailed", None)
|
|
if previousfailed is not None:
|
|
pytest.xfail("previous test failed (%s)" % previousfailed.name)
|