Kaydet (Commit) a022789a authored tarafından Thomas Heller's avatar Thomas Heller

Plug some refcount leaks when tests are run repeatedly.

üst abb903fd
......@@ -3,16 +3,16 @@ import sys
from ctypes import *
class CHECKED(c_int):
def _check_retval_(value):
# Receives a CHECKED instance.
return str(value.value)
_check_retval_ = staticmethod(_check_retval_)
class Test(unittest.TestCase):
def test_checkretval(self):
class CHECKED(c_int):
def _check_retval_(value):
# Receives a CHECKED instance.
return str(value.value)
_check_retval_ = staticmethod(_check_retval_)
import _ctypes_test
dll = cdll.load(_ctypes_test.__file__)
self.failUnlessEqual(42, dll._testfunc_p_p(42))
......
from ctypes import *
import unittest
nums = [c_byte, c_short, c_int, c_long, c_longlong,
subclasses = []
for base in [c_byte, c_short, c_int, c_long, c_longlong,
c_ubyte, c_ushort, c_uint, c_ulong, c_ulonglong,
c_float, c_double]
c_float, c_double]:
class X(base):
pass
subclasses.append(X)
class X(c_char):
pass
# This test checks if the __repr__ is correct for subclasses of simple types
class ReprTest(unittest.TestCase):
def test_numbers(self):
for typ in nums:
self.failUnless(repr(typ(42)).startswith(typ.__name__))
class X(typ):
pass
self.failUnlessEqual("<X object at", repr(X(42))[:12])
for typ in subclasses:
base = typ.__bases__[0]
self.failUnless(repr(base(42)).startswith(base.__name__))
self.failUnlessEqual("<X object at", repr(typ(42))[:12])
def test_char(self):
self.failUnlessEqual("c_char('x')", repr(c_char('x')))
class X(c_char):
pass
self.failUnlessEqual("<X object at", repr(X('x'))[:12])
if __name__ == "__main__":
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment