Loading django/core/management/__init__.py +4 −2 Original line number Diff line number Diff line Loading @@ -103,10 +103,12 @@ def get_commands(): _commands = dict([(name, 'django.core') for name in find_commands(__path__[0])]) # Find the installed apps try: from django.conf import settings try: apps = settings.INSTALLED_APPS except (AttributeError, ImproperlyConfigured): except ImproperlyConfigured: # Still useful for commands that do not require functional settings, # like startproject or help apps = [] # Find and load the management module for each installed app. Loading tests/regressiontests/admin_scripts/tests.py +17 −4 Original line number Diff line number Diff line Loading @@ -982,13 +982,11 @@ class ManageMultipleSettings(AdminScriptTestCase): self.assertNoOutput(err) self.assertOutput(out, "EXECUTE:NoArgsCommand") class ManageSettingsWithImportError(AdminScriptTestCase): """Tests for manage.py when using the default settings.py file with an import error. Ticket #14130. """ def setUp(self): self.write_settings_with_import_error('settings.py') def tearDown(self): self.remove_settings('settings.py') Loading @@ -1004,12 +1002,27 @@ class ManageSettingsWithImportError(AdminScriptTestCase): settings_file.write('# The next line will cause an import error:\nimport foo42bar\n') def test_builtin_command(self): "import error: manage.py builtin commands shows useful diagnostic info when settings with import errors is provided" """ import error: manage.py builtin commands shows useful diagnostic info when settings with import errors is provided """ self.write_settings_with_import_error('settings.py') args = ['sqlall', 'admin_scripts'] out, err = self.run_manage(args) self.assertNoOutput(out) self.assertOutput(err, "No module named foo42bar") def test_builtin_command_with_attribute_error(self): """ manage.py builtin commands does not swallow attribute errors from bad settings (#18845) """ self.write_settings('settings.py', sdict={'BAD_VAR': 'INSTALLED_APPS.crash'}) args = ['collectstatic', 'admin_scripts'] out, err = self.run_manage(args) self.assertNoOutput(out) self.assertOutput(err, "AttributeError: 'list' object has no attribute 'crash'") class ManageValidate(AdminScriptTestCase): def tearDown(self): self.remove_settings('settings.py') Loading Loading
django/core/management/__init__.py +4 −2 Original line number Diff line number Diff line Loading @@ -103,10 +103,12 @@ def get_commands(): _commands = dict([(name, 'django.core') for name in find_commands(__path__[0])]) # Find the installed apps try: from django.conf import settings try: apps = settings.INSTALLED_APPS except (AttributeError, ImproperlyConfigured): except ImproperlyConfigured: # Still useful for commands that do not require functional settings, # like startproject or help apps = [] # Find and load the management module for each installed app. Loading
tests/regressiontests/admin_scripts/tests.py +17 −4 Original line number Diff line number Diff line Loading @@ -982,13 +982,11 @@ class ManageMultipleSettings(AdminScriptTestCase): self.assertNoOutput(err) self.assertOutput(out, "EXECUTE:NoArgsCommand") class ManageSettingsWithImportError(AdminScriptTestCase): """Tests for manage.py when using the default settings.py file with an import error. Ticket #14130. """ def setUp(self): self.write_settings_with_import_error('settings.py') def tearDown(self): self.remove_settings('settings.py') Loading @@ -1004,12 +1002,27 @@ class ManageSettingsWithImportError(AdminScriptTestCase): settings_file.write('# The next line will cause an import error:\nimport foo42bar\n') def test_builtin_command(self): "import error: manage.py builtin commands shows useful diagnostic info when settings with import errors is provided" """ import error: manage.py builtin commands shows useful diagnostic info when settings with import errors is provided """ self.write_settings_with_import_error('settings.py') args = ['sqlall', 'admin_scripts'] out, err = self.run_manage(args) self.assertNoOutput(out) self.assertOutput(err, "No module named foo42bar") def test_builtin_command_with_attribute_error(self): """ manage.py builtin commands does not swallow attribute errors from bad settings (#18845) """ self.write_settings('settings.py', sdict={'BAD_VAR': 'INSTALLED_APPS.crash'}) args = ['collectstatic', 'admin_scripts'] out, err = self.run_manage(args) self.assertNoOutput(out) self.assertOutput(err, "AttributeError: 'list' object has no attribute 'crash'") class ManageValidate(AdminScriptTestCase): def tearDown(self): self.remove_settings('settings.py') Loading