Mercurial > kallithea
view conftest.py @ 8114:2c224062eba7
vcs: fix get_file_annotate - consistently bind sha so it has the right value when executing
The Git implementation did *not* save the sha value in the lambda expression
for the "changeset lazy loader". Thus, if the generator had moved on and
assigned a different value to sha when the expression was executed, it would
use the "wrong" sha.
Fixed by doing as the Hg implementation: bind the sha value as value of a
default parameter when defining the lambda expression.
The Hg implementation did however also save the line - it is not used, and
there is no need for that.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Wed, 25 Dec 2019 15:30:11 +0100 |
parents | fe4086096758 |
children | 56de50d57ff0 |
line wrap: on
line source
import os import mock import pytest here = os.path.dirname(__file__) def pytest_ignore_collect(path): # ignore all files outside the 'kallithea' directory if not str(path).startswith(os.path.join(here, 'kallithea')): return True # 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', ) if str(path).endswith(kallithea_ignore_paths): return True @pytest.fixture() def doctest_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) with mock.patch.object(m, '_', lambda s: s): yield