Mercurial > kallithea
annotate conftest.py @ 7971:0ac93630a214
Merge stable
author | Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> |
---|---|
date | Wed, 27 Nov 2019 20:47:49 +0100 |
parents | fe4086096758 |
children | 56de50d57ff0 |
rev | line source |
---|---|
7811
0a277465fddf
scripts: initial run of import cleanup using isort
Mads Kiilerich <mads@kiilerich.com>
parents:
7752
diff
changeset
|
1 import os |
0a277465fddf
scripts: initial run of import cleanup using isort
Mads Kiilerich <mads@kiilerich.com>
parents:
7752
diff
changeset
|
2 |
7734
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
3 import mock |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
4 import pytest |
7811
0a277465fddf
scripts: initial run of import cleanup using isort
Mads Kiilerich <mads@kiilerich.com>
parents:
7752
diff
changeset
|
5 |
7734
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
6 |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
7 here = os.path.dirname(__file__) |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
8 |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
9 def pytest_ignore_collect(path): |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
10 # ignore all files outside the 'kallithea' directory |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
11 if not str(path).startswith(os.path.join(here, 'kallithea')): |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
12 return True |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
13 |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
14 # during doctest verification, normally all python files will be imported. |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
15 # Thus, files that cannot be imported normally should be ignored. |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
16 # Files that generate ImportErrors are ignored via |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
17 # '--doctest-ignore-import-errors' (pytest.ini) |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
18 kallithea_ignore_paths = ( |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
19 # AttributeError: 'module' object has no attribute 'config' |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
20 '/kallithea/alembic/env.py', |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
21 # collection of the following file messes up the rest of test execution |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
22 '/kallithea/tests/scripts/manual_test_concurrency.py', |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
23 ) |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
24 if str(path).endswith(kallithea_ignore_paths): |
afa5e0bdb76f
tests: run doctests via pytest
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
diff
changeset
|
25 return True |
7752
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
26 |
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
27 @pytest.fixture() |
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
28 def doctest_mock_ugettext(request): |
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
29 """Mock ugettext ('_') in the module using this fixture. |
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
30 |
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
31 Intended to be used for doctests. |
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
32 |
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
33 In a doctest, enable this fixture using: |
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
34 >>> getfixture('doctest_mock_ugettext') |
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
35 """ |
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
36 m = __import__(request.module.__name__, globals(), locals(), [None], 0) |
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
37 with mock.patch.object(m, '_', lambda s: s): |
3929ff3f21c6
tests: introduce doctest_mock_ugettext to allow doctests of localized code
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
7734
diff
changeset
|
38 yield |