Author: Maciej Fijalkowski <[email protected]>
Branch:
Changeset: r59566:1009e0ebae31
Date: 2012-12-26 19:11 +0200
http://bitbucket.org/pypy/pypy/changeset/1009e0ebae31/
Log: merge
diff --git a/lib-python/2.7/ctypes/test/test_internals.py
b/lib-python/2.7/ctypes/test/test_internals.py
--- a/lib-python/2.7/ctypes/test/test_internals.py
+++ b/lib-python/2.7/ctypes/test/test_internals.py
@@ -1,7 +1,10 @@
# This tests the internal _objects attribute
import unittest
from ctypes import *
-from sys import getrefcount as grc
+try:
+ from sys import getrefcount as grc
+except ImportError:
+ grc = None # e.g. PyPy
# XXX This test must be reviewed for correctness!!!
@@ -22,6 +25,8 @@
self.assertEqual(id(a), id(b))
def test_ints(self):
+ if grc is None:
+ return unittest.skip("no sys.getrefcount()")
i = 42000123
refcnt = grc(i)
ci = c_int(i)
@@ -29,6 +34,8 @@
self.assertEqual(ci._objects, None)
def test_c_char_p(self):
+ if grc is None:
+ return unittest.skip("no sys.getrefcount()")
s = "Hello, World"
refcnt = grc(s)
cs = c_char_p(s)
diff --git a/lib-python/2.7/ctypes/test/test_memfunctions.py
b/lib-python/2.7/ctypes/test/test_memfunctions.py
--- a/lib-python/2.7/ctypes/test/test_memfunctions.py
+++ b/lib-python/2.7/ctypes/test/test_memfunctions.py
@@ -53,7 +53,8 @@
s = string_at("foo bar")
# XXX The following may be wrong, depending on how Python
# manages string instances
- self.assertEqual(2, sys.getrefcount(s))
+ if hasattr(sys, 'getrefcount'):
+ self.assertEqual(2, sys.getrefcount(s))
self.assertTrue(s, "foo bar")
self.assertEqual(string_at("foo bar", 8), "foo bar\0")
diff --git a/lib-python/2.7/ctypes/test/test_python_api.py
b/lib-python/2.7/ctypes/test/test_python_api.py
--- a/lib-python/2.7/ctypes/test/test_python_api.py
+++ b/lib-python/2.7/ctypes/test/test_python_api.py
@@ -9,7 +9,10 @@
################################################################
-from sys import getrefcount as grc
+try:
+ from sys import getrefcount as grc
+except ImportError:
+ grc = None # e.g. PyPy
if sys.version_info > (2, 4):
c_py_ssize_t = c_size_t
else:
diff --git a/lib-python/2.7/ctypes/test/test_refcounts.py
b/lib-python/2.7/ctypes/test/test_refcounts.py
--- a/lib-python/2.7/ctypes/test/test_refcounts.py
+++ b/lib-python/2.7/ctypes/test/test_refcounts.py
@@ -11,7 +11,10 @@
class RefcountTestCase(unittest.TestCase):
def test_1(self):
- from sys import getrefcount as grc
+ try:
+ from sys import getrefcount as grc
+ except ImportError:
+ return unittest.skip("no sys.getrefcount()")
f = dll._testfunc_callback_i_if
f.restype = ctypes.c_int
@@ -35,7 +38,10 @@
def test_refcount(self):
- from sys import getrefcount as grc
+ try:
+ from sys import getrefcount as grc
+ except ImportError:
+ return unittest.skip("no sys.getrefcount()")
def func(*args):
pass
# this is the standard refcount for func
@@ -84,6 +90,10 @@
class AnotherLeak(unittest.TestCase):
def test_callback(self):
import sys
+ try:
+ from sys import getrefcount
+ except ImportError:
+ return unittest.skip("no sys.getrefcount()")
proto = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_int, ctypes.c_int)
def func(a, b):
diff --git a/lib_pypy/_ctypes_test.py b/lib_pypy/_ctypes_test.py
--- a/lib_pypy/_ctypes_test.py
+++ b/lib_pypy/_ctypes_test.py
@@ -2,10 +2,6 @@
import tempfile
import gc
-# Monkeypatch & hacks to let ctypes.tests import.
-# This should be removed at some point.
-sys.getrefcount = lambda x: len(gc.get_referrers(x)) - 1
-
def compile_shared():
"""Compile '_ctypes_test.c' into an extension module, and import it
"""
diff --git a/pypy/translator/c/src/allocator.h
b/pypy/translator/c/src/allocator.h
--- a/pypy/translator/c/src/allocator.h
+++ b/pypy/translator/c/src/allocator.h
@@ -1,7 +1,4 @@
-#ifdef PYPY_STANDALONE
/* allocation functions prototypes */
void *PyObject_Malloc(size_t n);
void *PyObject_Realloc(void *p, size_t n);
void PyObject_Free(void *p);
-
-#endif /* PYPY_STANDALONE */
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit