[pypy-commit] pypy py3k: improve the raises() function which is used inside -A tests. Now test_raises -A passes on cpython3
antocuni
noreply at buildbot.pypy.org
Mon Feb 13 18:27:14 CET 2012
Author: Antonio Cuni <anto.cuni at gmail.com>
Branch: py3k
Changeset: r52423:aaee3698b598
Date: 2012-02-13 11:35 +0100
http://bitbucket.org/pypy/pypy/changeset/aaee3698b598/
Log: improve the raises() function which is used inside -A tests. Now
test_raises -A passes on cpython3
diff --git a/pypy/conftest.py b/pypy/conftest.py
--- a/pypy/conftest.py
+++ b/pypy/conftest.py
@@ -200,14 +200,18 @@
def run_with_python(python, target):
if python is None:
py.test.skip("Cannot find the default python3 interpreter to run with -A")
- helpers = """if 1:
+ helpers = r"""if 1:
def skip(message):
print(message)
raise SystemExit(0)
def raises(exc, func, *args, **kwargs):
try:
if isinstance(func, str):
- exec("if 1:\\n" + func)
+ if func.startswith(" ") or func.startswith("\n"):
+ # it's probably an indented block, so we prefix if True:
+ # to avoid SyntaxError
+ func = "if True:\n" + func
+ exec(func)
else:
func(*args, **kwargs)
except exc:
More information about the pypy-commit
mailing list