id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 26427 AttributeError for a deleted setting under @override_settings, when an Exception is raised master nobody "{{{ @override_settings() class DemoTest(TestCase): def test(self): del settings.SOME # is in settings.py url = reverse('viewname_with_a_non_existant_template') self.assertRaises(TemplateDoesNotExist, self.client.get, url) }}} Output: {{{ ... File ""D:\Python34\lib\site-packages\django-1.9.4-py3.4.egg\django\views\debug.py"", line 294, in get_traceback_data 'settings': get_safe_settings(), File ""D:\Python34\lib\site-packages\django-1.9.4-py3.4.egg\django\views\debug.py"", line 70, in get_safe_settings settings_dict[k] = cleanse_setting(k, getattr(settings, k)) File ""D:\Python34\lib\site-packages\django-1.9.4-py3.4.egg\django\conf\__init__.py"", line 56, in __getattr__ return getattr(self._wrapped, name) File ""D:\Python34\lib\site-packages\django-1.9.4-py3.4.egg\django\conf\__init__.py"", line 172, in __getattr__ raise AttributeError }}} SOME is registered in {{{self._deleted}}}, but also returned by {{{__dir__()}}} from {{{dir(self.default_settings)}}}, and so collected in {{{get_safe_settings()}}}. Note: this is a blocking issue for me in the replacement of the deprecated {{{SimpleTestCase.urls}}} by {{{override_settings(ROOT_URLCONF=...)}}}." Bug closed Testing framework 1.9 Normal fixed Ready for checkin 1 0 0 0 0 0