1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | |
import __builtin__, sys |
import py |
from py.__.magic import exprinfo |
|
BuiltinAssertionError = __builtin__.AssertionError |
|
class AssertionError(BuiltinAssertionError): |
def __init__(self, *args): |
BuiltinAssertionError.__init__(self, *args) |
if args: |
self.msg = str(args[0]) |
else: |
f = sys._getframe(1) |
try: |
source = py.code.Frame(f).statement |
source = str(source.deindent()).strip() |
except py.error.ENOENT: |
source = None |
|
|
if source: |
self.msg = exprinfo.interpret(source, f, should_fail=True) |
if not self.args: |
self.args = (self.msg,) |
else: |
self.msg = None |
|
def invoke(): |
py.magic.patch(__builtin__, 'AssertionError', AssertionError) |
def revoke(): |
py.magic.revert(__builtin__, 'AssertionError') |
| |