Author: Ronan Lamy <[email protected]>
Branch: py3k-update
Changeset: r84009:4bb48bb31572
Date: 2016-04-28 15:47 +0100
http://bitbucket.org/pypy/pypy/changeset/4bb48bb31572/
Log: fix some tests
diff --git a/pypy/module/cpyext/test/test_bytesobject.py
b/pypy/module/cpyext/test/test_bytesobject.py
--- a/pypy/module/cpyext/test/test_bytesobject.py
+++ b/pypy/module/cpyext/test/test_bytesobject.py
@@ -93,7 +93,7 @@
assert len(s) == 4
assert s == b'ab\x00c'
- def test_string_tp_alloc(self):
+ def test_bytes_tp_alloc(self):
module = self.import_extension('foo', [
("tpalloc", "METH_NOARGS",
"""
@@ -117,7 +117,7 @@
"""),
])
s = module.tpalloc()
- assert s == '\x00' * 10
+ assert s == b'\x00' * 10
def test_AsString(self):
module = self.import_extension('foo', [
diff --git a/pypy/module/cpyext/test/test_cpyext.py
b/pypy/module/cpyext/test/test_cpyext.py
--- a/pypy/module/cpyext/test/test_cpyext.py
+++ b/pypy/module/cpyext/test/test_cpyext.py
@@ -257,8 +257,6 @@
def setup_class(cls):
cls.space.getbuiltinmodule("cpyext")
- from pypy.module.imp.importing import importhook
- importhook(cls.space, "os") # warm up reference counts
#state = cls.space.fromcache(RefcountState) ZZZ
#state.non_heaptypes_w[:] = []
if not cls.runappdirect:
diff --git a/pypy/module/cpyext/test/test_pystate.py
b/pypy/module/cpyext/test/test_pystate.py
--- a/pypy/module/cpyext/test/test_pystate.py
+++ b/pypy/module/cpyext/test/test_pystate.py
@@ -35,7 +35,7 @@
PyEval_InitThreads();
state0 = PyGILState_Ensure(); /* hangs here */
if (val != 0)
- {
+ {
state1 = PyGILState_Ensure();
PyGILState_Release(state1);
}
@@ -68,9 +68,8 @@
])
assert module.get() == 3
+ @py.test.mark.xfail(run=False, reason='PyThreadState_Get() segfaults on
py3k and CPython')
def test_basic_threadstate_dance(self):
- if self.runappdirect:
- py.test.xfail('segfault: on cpython cannot Get() a NULL tstate')
module = self.import_extension('foo', [
("dance", "METH_NOARGS",
"""
@@ -151,8 +150,8 @@
res = module.test()
print "got", res
assert res in (0, 1)
-
-
+
+
class AppTestState(AppTestCpythonExtensionBase):
def test_frame_tstate_tracing(self):
diff --git a/pypy/module/cpyext/test/test_typeobject.py
b/pypy/module/cpyext/test/test_typeobject.py
--- a/pypy/module/cpyext/test/test_typeobject.py
+++ b/pypy/module/cpyext/test/test_typeobject.py
@@ -213,7 +213,7 @@
import re
assert re.sre_compile._sre is module
s = u"Foo " * 1000 + u"Bar"
- prog = re.compile(ur"Foo.*Bar")
+ prog = re.compile("Foo.*Bar")
assert prog.match(s)
m = re.search("xyz", "xyzxyz")
assert m
diff --git a/pypy/module/cpyext/test/test_unicodeobject.py
b/pypy/module/cpyext/test/test_unicodeobject.py
--- a/pypy/module/cpyext/test/test_unicodeobject.py
+++ b/pypy/module/cpyext/test/test_unicodeobject.py
@@ -169,19 +169,6 @@
space.sys.get('getdefaultencoding')
)
assert encoding == space.unwrap(w_default_encoding)
- invalid = rffi.str2charp('invalid')
- utf_8 = rffi.str2charp('utf-8')
- prev_encoding = rffi.str2charp(space.unwrap(w_default_encoding))
- self.raises(space, api, TypeError, api.PyUnicode_SetDefaultEncoding,
lltype.nullptr(rffi.CCHARP.TO))
- assert api.PyUnicode_SetDefaultEncoding(invalid) == -1
- assert api.PyErr_Occurred() is space.w_LookupError
- api.PyErr_Clear()
- assert api.PyUnicode_SetDefaultEncoding(utf_8) == 0
- assert rffi.charp2str(api.PyUnicode_GetDefaultEncoding()) == 'utf-8'
- assert api.PyUnicode_SetDefaultEncoding(prev_encoding) == 0
- rffi.free_charp(invalid)
- rffi.free_charp(utf_8)
- rffi.free_charp(prev_encoding)
def test_AS(self, space, api):
word = space.wrap(u'spam')
@@ -196,10 +183,10 @@
space.wrapbytes('spam'))
utf_8 = rffi.str2charp('utf-8')
- encoded = api.PyUnicode_AsEncodedString(space.wrap(u'sp�m'),
+ encoded = api.PyUnicode_AsEncodedString(space.wrap(u'späm'),
utf_8, None)
assert space.unwrap(encoded) == 'sp\xc3\xa4m'
- encoded_obj = api.PyUnicode_AsEncodedObject(space.wrap(u'sp�m'),
+ encoded_obj = api.PyUnicode_AsEncodedObject(space.wrap(u'späm'),
utf_8, None)
assert space.eq_w(encoded, encoded_obj)
self.raises(space, api, TypeError, api.PyUnicode_AsEncodedString,
@@ -208,7 +195,7 @@
space.wrapbytes(''), None, None)
ascii = rffi.str2charp('ascii')
replace = rffi.str2charp('replace')
- encoded = api.PyUnicode_AsEncodedString(space.wrap(u'sp�m'),
+ encoded = api.PyUnicode_AsEncodedString(space.wrap(u'späm'),
ascii, replace)
assert space.unwrap(encoded) == 'sp?m'
rffi.free_charp(utf_8)
@@ -249,14 +236,14 @@
ar[0] = rffi.cast(PyObject, py_uni)
api.PyUnicode_Resize(ar, 3)
py_uni = rffi.cast(PyUnicodeObject, ar[0])
- assert py_uni.c_size == 3
+ assert py_uni.c_length == 3
assert py_uni.c_buffer[1] == u'b'
assert py_uni.c_buffer[3] == u'\x00'
# the same for growing
ar[0] = rffi.cast(PyObject, py_uni)
api.PyUnicode_Resize(ar, 10)
py_uni = rffi.cast(PyUnicodeObject, ar[0])
- assert py_uni.c_size == 10
+ assert py_uni.c_length == 10
assert py_uni.c_buffer[1] == 'b'
assert py_uni.c_buffer[10] == '\x00'
Py_DecRef(space, ar[0])
@@ -267,13 +254,13 @@
w_res = api.PyUnicode_AsUTF8String(w_u)
assert space.type(w_res) is space.w_str
assert space.unwrap(w_res) == 'sp\tm'
-
+
def test_decode_utf8(self, space, api):
u = rffi.str2charp(u'sp\x134m'.encode("utf-8"))
w_u = api.PyUnicode_DecodeUTF8(u, 5, None)
assert space.type(w_u) is space.w_unicode
assert space.unwrap(w_u) == u'sp\x134m'
-
+
w_u = api.PyUnicode_DecodeUTF8(u, 2, None)
assert space.type(w_u) is space.w_unicode
assert space.unwrap(w_u) == 'sp'
@@ -489,7 +476,7 @@
ustr = "abcdef"
w_ustr = space.wrap(ustr.decode("ascii"))
result = api.PyUnicode_AsASCIIString(w_ustr)
-
+
assert space.eq_w(space.wrapbytes(ustr), result)
w_ustr = space.wrap(u"abcd\xe9f")
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit