importosimportmockimportpytesthere=os.path.dirname(__file__)defpytest_ignore_collect(path):# ignore all files outside the 'kallithea' directoryifnotstr(path).startswith(os.path.join(here,'kallithea')):returnTrue# during doctest verification, normally all python files will be imported.# Thus, files that cannot be imported normally should be ignored.# Files that generate ImportErrors are ignored via# '--doctest-ignore-import-errors' (pytest.ini)kallithea_ignore_paths=(# AttributeError: 'module' object has no attribute 'config''/kallithea/alembic/env.py',# collection of the following file messes up the rest of test execution'/kallithea/tests/scripts/manual_test_concurrency.py',)ifstr(path).endswith(kallithea_ignore_paths):returnTrue@pytest.fixture()defdoctest_mock_ugettext(request):"""Mock ugettext ('_') in the module using this fixture. Intended to be used for doctests. In a doctest, enable this fixture using: >>> getfixture('doctest_mock_ugettext') """m=__import__(request.module.__name__,globals(),locals(),[None],0)withmock.patch.object(m,'_',lambdas:s):yield