From ae5f451741ece341d1606e6e620b05020c739bb2 Mon Sep 17 00:00:00 2001 From: Gary Wilson Jr Date: Sun, 29 Mar 2009 23:40:04 +0000 Subject: [PATCH] [1.0.X]: Removed an inadvertent raise statement added in [8777] and added the printing of tracebacks for template tests that raise an unhandled exception. Backport of r10183 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@10185 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/regressiontests/templates/tests.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tests/regressiontests/templates/tests.py b/tests/regressiontests/templates/tests.py index 41b044bba8..d5eb8aa083 100644 --- a/tests/regressiontests/templates/tests.py +++ b/tests/regressiontests/templates/tests.py @@ -7,6 +7,7 @@ if __name__ == '__main__': settings.configure() import os +import traceback import unittest from datetime import datetime, timedelta @@ -203,10 +204,11 @@ class Templates(unittest.TestCase): try: test_template = loader.get_template(name) output = self.render(test_template, vals) - except Exception, e: - if e.__class__ != result: - raise - failures.append("Template test (TEMPLATE_STRING_IF_INVALID='%s'): %s -- FAILED. Got %s, exception: %s" % (invalid_str, name, e.__class__, e)) + except Exception: + exc_type, exc_value, exc_tb = sys.exc_info() + if exc_type != result: + tb = '\n'.join(traceback.format_exception(exc_type, exc_value, exc_tb)) + failures.append("Template test (TEMPLATE_STRING_IF_INVALID='%s'): %s -- FAILED. Got %s, exception: %s\n%s" % (invalid_str, name, exc_type, exc_value, tb)) continue if output != result: failures.append("Template test (TEMPLATE_STRING_IF_INVALID='%s'): %s -- FAILED. Expected %r, got %r" % (invalid_str, name, result, output)) @@ -223,7 +225,7 @@ class Templates(unittest.TestCase): settings.TEMPLATE_DEBUG = old_td settings.TEMPLATE_STRING_IF_INVALID = old_invalid - self.assertEqual(failures, [], '\n'.join(failures)) + self.assertEqual(failures, [], ('-'*70 + '\n').join(failures)) def render(self, test_template, vals): return test_template.render(template.Context(vals[1]))