From e56838cb6c2398197200a9501d11e3438f82e574 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Thu, 26 May 2011 21:15:40 -0500 Subject: [PATCH] write an explicit raise if the assertion fails --- _pytest/assertion/rewrite.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/_pytest/assertion/rewrite.py b/_pytest/assertion/rewrite.py index 7e18f2c30..6c9067525 100644 --- a/_pytest/assertion/rewrite.py +++ b/_pytest/assertion/rewrite.py @@ -3,6 +3,7 @@ import ast import collections import itertools +import sys import py from _pytest.assertion import util @@ -212,7 +213,13 @@ class AssertionRewriter(ast.NodeVisitor): template = ast.Str(explanation) msg = self.pop_format_context(template) fmt = self.helper("format_explanation", msg) - body.append(ast.Assert(top_condition, fmt)) + err_name = ast.Name("AssertionError", ast.Load()) + exc = ast.Call(err_name, [fmt], [], None, None) + if sys.version_info[0] >= 3: + raise_ = ast.Raise(exc, None) + else: + raise_ = ast.Raise(exc, None, None) + body.append(raise_) # Delete temporary variables. names = [ast.Name(name, ast.Del()) for name in self.variables] if names: