﻿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
