#15605: Testing cannot be loaded when models.py is missing -------------------------------+--------------------------- Reporter: the_drow | Owner: nobody Status: new | Milestone: 1.4 Component: Testing framework | Version: 1.2 Keywords: | Triage Stage: Unreviewed Has patch: 0 | -------------------------------+--------------------------- I have a fabric script that attempts to run the tests for an application that I wrote. It is already installed using setup.py and I am able to import it. I am following the script I found here. My problem is that django-admin doesn't find my app:
{{{ Traceback (most recent call last): File "/usr/local/lib/python2.6/dist-packages/fabric/main.py", line 542, in main commands[name](*args, **kwargs) File "/usr/local/lib/python2.6/dist- packages/envconf/fabfile.py", line 35, in test management.call_command('test', 'envconf') File "/usr/local/lib/python2.6 /dist-packages/django/core/management/init.py", line 166, in call_command return klass.execute(*args, **defaults) File "/usr/local/lib/python2.6 /dist-packages/django/core/management/base.py", line 220, in execute output = self.handle(*args, **options) File "/usr/local/lib/python2.6 /dist-packages/django/core/management/commands/test.py", line 37, in handle failures = test_runner.run_tests(test_labels) File "/usr/local/lib/python2.6/dist-packages/django/test/simple.py", line 395, in run_tests suite = self.build_suite(test_labels, extra_tests) File "/usr/local/lib/python2.6/dist-packages/django/test/simple.py", line 285, in build_suite app = get_app(label) File "/usr/local/lib/python2.6/dist- packages/django/db/models/loading.py", line 140, in get_app raise ImproperlyConfigured("App with label %s could not be found" % app_label) django.core.exceptions.ImproperlyConfigured: App with label envconf could not be found }}} The problem is in loading.py, if there are no models it shouldn't load them. Here's my code: {{{ import functools import os from fabric.api import local, cd, env from fabric.contrib.project import rsync_project from django.conf import settings from django.core import management NAME = os.path.basename(os.path.dirname(__file__)) ROOT = os.path.abspath(os.path.dirname(__file__)) os.environ['PYTHONPATH'] = os.pathsep.join([ROOT]) env.hosts = ['omer.me'] local = functools.partial(local, capture=False) def test(): settings.configure(DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': '.', 'USER': '', 'PASSWORD': '', 'HOST': '', 'PORT': '', } }, INSTALLED_APPS = ('envconf', )) print os.environ management.call_command('test', 'envconf') }}} I am suggesting a the following fix: 1) If any models.py are found in any app require a database to be present in the settings. 2) If it is not found, do not require. -- Ticket URL: <http://code.djangoproject.com/ticket/15605> Django <http://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com. To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-updates?hl=en.