Files
@ d68b77e4e4ab
Branch filter:
Location: kallithea/MANIFEST.in - annotation
d68b77e4e4ab
1.1 KiB
text/plain
tg2: move routing mapper initialization from RootController class definition time to instantiation time
Things happened to work before, despite unfortunate code executation at import
time. TurboGears 2.4 changed something, so actual serving works, but pytest
fails with:
collecting ...
...
data/env/lib/python2.7/site-packages/_pytest/config/__init__.py:463: in _importconftest
raise ConftestImportFailure(conftestpath, sys.exc_info())
E ConftestImportFailure: (local('.../kallithea/tests/conftest.py'), (<type 'exceptions.KeyError'>, KeyError('paths',), <traceback object at 0x7fb6679030e0>))
or more useful, if raising the real exception instead of obfuscating with ConftestImportFailure:
...
kallithea/tests/conftest.py:15: in <module>
from kallithea.controllers.root import RootController
kallithea/controllers/root.py:29: in <module>
class RootController(RoutedController, BaseController):
kallithea/controllers/root.py:31: in RootController
mapper = make_map(config)
kallithea/config/routing.py:32: in make_map
rmap = Mapper(directory=config['paths']['controllers'],
data/env/lib/python2.7/site-packages/tg/configuration/tgconfig.py:28: in __getitem__
return self.config_proxy.current_conf()[key]
E KeyError: 'paths'
_importconftest <_pytest.config.PytestPluginManager object at 0x7f20c770a3d0> .../conftest.py
In this example, in RootController, the global config object is at this time just:
{'debug': False, 'package': None, 'i18n.lang': None, 'tg.strict_tmpl_context': True, 'tg.app_globals': None}
Solved by moving the mapper initialization to __init__.
Things happened to work before, despite unfortunate code executation at import
time. TurboGears 2.4 changed something, so actual serving works, but pytest
fails with:
collecting ...
...
data/env/lib/python2.7/site-packages/_pytest/config/__init__.py:463: in _importconftest
raise ConftestImportFailure(conftestpath, sys.exc_info())
E ConftestImportFailure: (local('.../kallithea/tests/conftest.py'), (<type 'exceptions.KeyError'>, KeyError('paths',), <traceback object at 0x7fb6679030e0>))
or more useful, if raising the real exception instead of obfuscating with ConftestImportFailure:
...
kallithea/tests/conftest.py:15: in <module>
from kallithea.controllers.root import RootController
kallithea/controllers/root.py:29: in <module>
class RootController(RoutedController, BaseController):
kallithea/controllers/root.py:31: in RootController
mapper = make_map(config)
kallithea/config/routing.py:32: in make_map
rmap = Mapper(directory=config['paths']['controllers'],
data/env/lib/python2.7/site-packages/tg/configuration/tgconfig.py:28: in __getitem__
return self.config_proxy.current_conf()[key]
E KeyError: 'paths'
_importconftest <_pytest.config.PytestPluginManager object at 0x7f20c770a3d0> .../conftest.py
In this example, in RootController, the global config object is at this time just:
{'debug': False, 'package': None, 'i18n.lang': None, 'tg.strict_tmpl_context': True, 'tg.app_globals': None}
Solved by moving the mapper initialization to __init__.
8cea7986ed79 ff08d3cf9aef ff08d3cf9aef ff08d3cf9aef 8cea7986ed79 ff08d3cf9aef ff08d3cf9aef ff08d3cf9aef ff08d3cf9aef 8cea7986ed79 ff08d3cf9aef 8cea7986ed79 8cea7986ed79 8cea7986ed79 2d7a94f3eaae 0e6035a85980 7894a440e134 ff08d3cf9aef 8cea7986ed79 19a9f02443c8 ff08d3cf9aef ff08d3cf9aef 7e5f8c12a3fc ff08d3cf9aef ff08d3cf9aef 8cea7986ed79 8cea7986ed79 ff08d3cf9aef 8cea7986ed79 | include .coveragerc
include Apache-License-2.0.txt
include CONTRIBUTORS
include COPYING
include Jenkinsfile
include LICENSE-MERGELY.html
include LICENSE.md
include MIT-Permissive-License.txt
include README.rst
include dev_requirements.txt
include development.ini
include pytest.ini
include requirements.txt
include tox.ini
recursive-include docs *
recursive-include init.d *
recursive-include kallithea/alembic *
include kallithea/bin/ldap_sync.conf
include kallithea/lib/paster_commands/template.ini.mako
recursive-include kallithea/front-end *
recursive-include kallithea/i18n *
recursive-include kallithea/public *
recursive-include kallithea/templates *
recursive-include kallithea/tests/fixtures *
recursive-include kallithea/tests/scripts *
include kallithea/tests/models/test_dump_html_mails.ref.html
include kallithea/tests/performance/test_vcs.py
include kallithea/tests/vcs/aconfig
recursive-include scripts *
|