|
@@ -94,18 +94,28 @@ def instrumented_test_render(self, context):
|
|
|
return self.nodelist.render(context)
|
|
|
|
|
|
|
|
|
-def setup_test_environment():
|
|
|
+class _SavedSettings(object):
|
|
|
+ pass
|
|
|
+
|
|
|
+
|
|
|
+def setup_test_environment(debug=None):
|
|
|
"""
|
|
|
Perform global pre-test setup, such as installing the instrumented template
|
|
|
renderer and setting the email backend to the locmem email backend.
|
|
|
"""
|
|
|
- if hasattr(Template, '_original_render'):
|
|
|
+ if hasattr(_SavedSettings, 'debug'):
|
|
|
# Executing this function twice would overwrite the saved values.
|
|
|
raise RuntimeError(
|
|
|
"setup_test_environment() was already called and can't be called "
|
|
|
"again without first calling teardown_test_environment()."
|
|
|
)
|
|
|
|
|
|
+ if debug is None:
|
|
|
+ debug = settings.DEBUG
|
|
|
+
|
|
|
+ _SavedSettings.debug = settings.DEBUG
|
|
|
+ settings.DEBUG = debug
|
|
|
+
|
|
|
Template._original_render = Template._render
|
|
|
Template._render = instrumented_test_render
|
|
|
|
|
@@ -129,6 +139,9 @@ def teardown_test_environment():
|
|
|
Perform any global post-test teardown, such as restoring the original
|
|
|
template renderer and restoring the email sending functions.
|
|
|
"""
|
|
|
+ settings.DEBUG = _SavedSettings.debug
|
|
|
+ del _SavedSettings.debug
|
|
|
+
|
|
|
Template._render = Template._original_render
|
|
|
del Template._original_render
|
|
|
|