import pytest import inspect # XX this should move into a global something from ...testing import MockClock, trio_test @pytest.fixture def mock_clock(): return MockClock() @pytest.fixture def autojump_clock(): return MockClock(autojump_threshold=0) # FIXME: split off into a package (or just make part of Trio's public # interface?), with config file to enable? and I guess a mark option too; I # guess it's useful with the class- and file-level marking machinery (where # the raw @trio_test decorator isn't enough). @pytest.hookimpl(tryfirst=True) def pytest_pyfunc_call(pyfuncitem): if inspect.iscoroutinefunction(pyfuncitem.obj): pyfuncitem.obj = trio_test(pyfuncitem.obj)