[pypy-commit] pypy py3k: fix -A support when the source code contains unicode chars. Fix test_unicode_keywords to pass on CPython3 (still fails on pypy)
antocuni
noreply at buildbot.pypy.org
Thu Aug 2 19:10:37 CEST 2012
Author: Antonio Cuni <anto.cuni at gmail.com>
Branch: py3k
Changeset: r56535:24780967f269
Date: 2012-08-02 17:15 +0200
http://bitbucket.org/pypy/pypy/changeset/24780967f269/
Log: fix -A support when the source code contains unicode chars. Fix
test_unicode_keywords to pass on CPython3 (still fails on pypy)
diff --git a/pypy/conftest.py b/pypy/conftest.py
--- a/pypy/conftest.py
+++ b/pypy/conftest.py
@@ -205,7 +205,11 @@
def run_with_python(python, target):
if python is None:
py.test.skip("Cannot find the default python3 interpreter to run with -A")
- helpers = r"""if 1:
+ # we assume that the source of target is in utf-8. Unfortunately, we don't
+ # have any easy/standard way to determine from here the original encoding
+ # of the source file
+ helpers = r"""# -*- encoding: utf-8 -*-
+if 1:
import sys
def skip(message):
print(message)
@@ -232,7 +236,9 @@
"""
source = py.code.Source(target)[1:].deindent()
pyfile = udir.join('src.py')
- pyfile.write(helpers + str(source))
+ source = helpers + str(source)
+ with pyfile.open('w') as f:
+ f.write(source)
res, stdout, stderr = runsubprocess.run_subprocess(
python, [str(pyfile)])
print source
diff --git a/pypy/interpreter/test/test_argument.py b/pypy/interpreter/test/test_argument.py
--- a/pypy/interpreter/test/test_argument.py
+++ b/pypy/interpreter/test/test_argument.py
@@ -653,7 +653,7 @@
# "f() got an unexpected keyword argument 'ü'"
def f(x): pass
e = raises(TypeError, "f(**{'ü' : 19})")
- assert "?" in str(e.value)
+ assert "'ü'" in str(e.value)
"""
def make_arguments_for_translation(space, args_w, keywords_w={},
More information about the pypy-commit
mailing list