django-test-extensions icon indicating copy to clipboard operation
django-test-extensions copied to clipboard

codecoverage causes re-registration of admin models

Open schinckel opened this issue 15 years ago • 2 comments

schinckel avatar Jan 15 '10 01:01 schinckel

When I have a model that has an admin interface registered, and I run test with —coverage, then I get an AlreadyRegistered exception:

Traceback (most recent call last): File "./manage.py", line 11, in execute_manager(settings) File "/usr/local/Cellar/EasyInstall/2.6/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/core/management/init.py", line 362, in execute_manager utility.execute() File "/usr/local/Cellar/EasyInstall/2.6/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/core/management/init.py", line 303, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/local/Cellar/EasyInstall/2.6/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/core/management/base.py", line 195, in run_from_argv self.execute(_args, *_options.dict) File "/usr/local/Cellar/EasyInstall/2.6/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/core/management/base.py", line 222, in execute output = self.handle(_args, *_options) File "/usr/local/Cellar/EasyInstall/2.6/lib/python2.6/site-packages/test_extensions/management/commands/test.py", line 66, in handle interactive=interactive) File "/usr/local/Cellar/EasyInstall/2.6/lib/python2.6/site-packages/test_extensions/testrunners/codecoverage.py", line 74, in run_tests coverage_modules.extend(get_all_coverage_modules(app)) File "/usr/local/Cellar/EasyInstall/2.6/lib/python2.6/site-packages/test_extensions/testrunners/codecoverage.py", line 43, in get_all_coverage_modules {}, {}, mod_name) File "/Users/REDACTED/REDACTED/Development/REDACTED/apps/country/admin/init.py", line 4, in

File "/usr/local/Cellar/EasyInstall/2.6/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/contrib/admin/sites.py", line 78, in register raise AlreadyRegistered('The model %s is already registered' % model.name) django.contrib.admin.sites.AlreadyRegistered: The model Country is already registered

schinckel avatar Jan 15 '10 01:01 schinckel

My workaround was to ignore all exceptions when importing for coverage checking.

schinckel avatar Jan 15 '10 02:01 schinckel