summaryrefslogtreecommitdiff
path: root/tests/regressiontests/admin_scripts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/regressiontests/admin_scripts')
-rw-r--r--tests/regressiontests/admin_scripts/tests.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/tests/regressiontests/admin_scripts/tests.py b/tests/regressiontests/admin_scripts/tests.py
index 6028eac846..6f524bea29 100644
--- a/tests/regressiontests/admin_scripts/tests.py
+++ b/tests/regressiontests/admin_scripts/tests.py
@@ -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')
@@ -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')