[pypy-commit] pypy PyBuffer-backport: Allow memoryviews in compile() and _codecs.unicode_internal_decode()
rlamy
pypy.commits at gmail.com
Fri May 12 14:20:42 EDT 2017
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: PyBuffer-backport
Changeset: r91270:5ea0ac27cf69
Date: 2017-05-12 19:18 +0100
http://bitbucket.org/pypy/pypy/changeset/5ea0ac27cf69/
Log: Allow memoryviews in compile() and _codecs.unicode_internal_decode()
diff --git a/pypy/module/__builtin__/test/test_compile.py b/pypy/module/__builtin__/test/test_compile.py
--- a/pypy/module/__builtin__/test/test_compile.py
+++ b/pypy/module/__builtin__/test/test_compile.py
@@ -1,5 +1,6 @@
class AppTestCompile:
def test_simple(self):
+ import sys
co = compile('1+2', '?', 'eval')
assert eval(co) == 3
co = compile(buffer('1+2'), '?', 'eval')
@@ -8,8 +9,10 @@
assert str(exc.value) == "compile() expected string without null bytes"
exc = raises(TypeError, compile, unichr(0), '?', 'eval')
assert str(exc.value) == "compile() expected string without null bytes"
- exc = raises(TypeError, compile, memoryview('1+2'), '?', 'eval')
- assert str(exc.value) == "expected a readable buffer object"
+
+ if '__pypy__' in sys.modules:
+ co = compile(memoryview('1+2'), '?', 'eval')
+ assert eval(co) == 3
compile("from __future__ import with_statement", "<test>", "exec")
raises(SyntaxError, compile, '-', '?', 'eval')
raises(ValueError, compile, '"\\xt"', '?', 'eval')
diff --git a/pypy/module/_codecs/test/test_codecs.py b/pypy/module/_codecs/test/test_codecs.py
--- a/pypy/module/_codecs/test/test_codecs.py
+++ b/pypy/module/_codecs/test/test_codecs.py
@@ -292,8 +292,8 @@
assert bytes2.decode("unicode_internal") == u"\U00010098"
assert bytes.decode("unicode_internal") == u"a"
assert _codecs.unicode_internal_decode(array.array('c', bytes))[0] == u"a"
- exc = raises(TypeError, _codecs.unicode_internal_decode, memoryview(bytes))
- assert str(exc.value) == "expected a readable buffer object"
+ if '__pypy__' in sys.modules:
+ assert _codecs.unicode_internal_decode(memoryview(bytes))[0] == u"a"
def test_raw_unicode_escape(self):
assert unicode("\u0663", "raw-unicode-escape") == u"\u0663"
More information about the pypy-commit
mailing list