idlesign / pytest-djangoapp

Nice pytest plugin to help you with Django pluggable application testing.
https://github.com/idlesign/pytest-djangoapp
BSD 3-Clause "New" or "Revised" License
40 stars 6 forks source link

Dont re-register app #8

Open jayvdb opened 4 years ago

jayvdb commented 4 years ago

If the app is in INSTALLED_APP, dont add it again. The user knows what they are doing ;-)

INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 193, in wrap_session
INTERNALERROR>     config._do_configure()
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 778, in _do_configure
INTERNALERROR>     self.hook.pytest_configure.call_historic(kwargs=dict(config=self))
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 308, in call_historic
INTERNALERROR>     res = self._hookexec(self, self.get_hookimpls(), kwargs)
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84, in <lambda>
INTERNALERROR>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 208, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pytest_djangoapp/plugin.py", line 43, in pytest_configure
INTERNALERROR>     django.setup()
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/django/__init__.py", line 24, in setup
INTERNALERROR>     apps.populate(settings.INSTALLED_APPS)
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/django/apps/registry.py", line 93, in populate
INTERNALERROR>     raise ImproperlyConfigured(
INTERNALERROR> django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: myapp
jayvdb commented 4 years ago

Reading configuration.py, this was possibly caused by use of AppConfig.label

jayvdb commented 4 years ago

I'm working on this now, along with some other similar stuff.