Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-105751: Remove dead code in test_ctypes #105817

Merged
merged 1 commit into from
Jun 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions Lib/test/test_ctypes/test_as_parameter.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ def test_callbacks(self):
MyCallback = CFUNCTYPE(c_int, c_int)

def callback(value):
#print "called back with", value
return value

cb = MyCallback(callback)
Expand Down Expand Up @@ -118,7 +117,6 @@ def test_callbacks_2(self):
f.argtypes = [c_int, MyCallback]

def callback(value):
#print "called back with", value
self.assertEqual(type(value), int)
return value

Expand Down
2 changes: 0 additions & 2 deletions Lib/test/test_ctypes/test_bitfields.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ class BITS(Structure):
func = CDLL(_ctypes_test.__file__).unpack_bitfields
func.argtypes = POINTER(BITS), c_char

##for n in "ABCDEFGHIMNOPQRS":
## print n, hex(getattr(BITS, n).size), getattr(BITS, n).offset

class C_Test(unittest.TestCase):

Expand Down
5 changes: 0 additions & 5 deletions Lib/test/test_ctypes/test_callbacks.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@
class Callbacks(unittest.TestCase):
functype = CFUNCTYPE

## def tearDown(self):
## gc.collect()

def callback(self, *args):
self.got_args = args
return args[-1]
Expand All @@ -43,8 +40,6 @@ def check_type(self, typ, arg):
self.assertEqual(self.got_args, (-3, arg))
self.assertEqual(result, arg)

################

def test_byte(self):
self.check_type(c_byte, 42)
self.check_type(c_byte, -42)
Expand Down
2 changes: 1 addition & 1 deletion Lib/test/test_ctypes/test_find.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def setUpClass(cls):
lib_glu = find_library("GLU")
lib_gle = find_library("gle")

## print, for debugging
# print, for debugging
if test.support.verbose:
print("OpenGL libraries:")
for item in (("GL", lib_gl),
Expand Down
22 changes: 0 additions & 22 deletions Lib/test/test_ctypes/test_funcptr.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,17 +73,9 @@ class WNDCLASS(Structure):

WNDPROC_2 = WINFUNCTYPE(c_long, c_int, c_int, c_int, c_int)

# This is no longer true, now that WINFUNCTYPE caches created types internally.
## # CFuncPtr subclasses are compared by identity, so this raises a TypeError:
## self.assertRaises(TypeError, setattr, wndclass,
## "lpfnWndProc", WNDPROC_2(wndproc))
# instead:

self.assertIs(WNDPROC, WNDPROC_2)
# 'wndclass.lpfnWndProc' leaks 94 references. Why?
self.assertEqual(wndclass.lpfnWndProc(1, 2, 3, 4), 10)


f = wndclass.lpfnWndProc

del wndclass
Expand All @@ -92,24 +84,14 @@ class WNDCLASS(Structure):
self.assertEqual(f(10, 11, 12, 13), 46)

def test_dllfunctions(self):

def NoNullHandle(value):
if not value:
raise ctypes.WinError()
return value

strchr = lib.my_strchr
strchr.restype = c_char_p
strchr.argtypes = (c_char_p, c_char)
self.assertEqual(strchr(b"abcdefghi", b"b"), b"bcdefghi")
self.assertEqual(strchr(b"abcdefghi", b"x"), None)


strtok = lib.my_strtok
strtok.restype = c_char_p
# Neither of this does work: strtok changes the buffer it is passed
## strtok.argtypes = (c_char_p, c_char_p)
## strtok.argtypes = (c_string, c_char_p)

def c_string(init):
size = len(init) + 1
Expand All @@ -118,10 +100,6 @@ def c_string(init):
s = b"a\nb\nc"
b = c_string(s)

## b = (c_char * (len(s)+1))()
## b.value = s

## b = c_string(s)
self.assertEqual(strtok(b, b"\n"), b"a")
self.assertEqual(strtok(None, b"\n"), b"b")
self.assertEqual(strtok(None, b"\n"), b"c")
Expand Down
6 changes: 0 additions & 6 deletions Lib/test/test_ctypes/test_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,6 @@ def test_pointers(self):
result = f(byref(c_int(99)))
self.assertNotEqual(result.contents, 99)

################################################################
def test_shorts(self):
f = dll._testfunc_callback_i_if

Expand All @@ -245,9 +244,6 @@ def callback(v):
f(2**18, cb)
self.assertEqual(args, expected)

################################################################


def test_callbacks(self):
f = dll._testfunc_callback_i_if
f.restype = c_int
Expand All @@ -256,7 +252,6 @@ def test_callbacks(self):
MyCallback = CFUNCTYPE(c_int, c_int)

def callback(value):
#print "called back with", value
return value

cb = MyCallback(callback)
Expand Down Expand Up @@ -289,7 +284,6 @@ def test_callbacks_2(self):
f.argtypes = [c_int, MyCallback]

def callback(value):
#print "called back with", value
self.assertEqual(type(value), int)
return value

Expand Down
6 changes: 0 additions & 6 deletions Lib/test/test_ctypes/test_internals.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,6 @@ class Y(Structure):
y = Y()
y.x = x
self.assertEqual(y._objects, {"0": {"0": s1, "1": s2}})
## x = y.x
## del y
## print x._b_base_._objects

def test_ptr_struct(self):
class X(Structure):
Expand All @@ -94,9 +91,6 @@ class X(Structure):

x = X()
x.data = a
##XXX print x._objects
##XXX print x.data[0]
##XXX print x.data._objects


if __name__ == '__main__':
Expand Down
8 changes: 0 additions & 8 deletions Lib/test/test_ctypes/test_keeprefs.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,19 +115,14 @@ class X(Structure):
c_int(99)
x.p[0]
print(x.p[0])
## del x
## print "2?", sys.getrefcount(i)
## del i
gc.collect()
for i in range(320):
c_int(99)
x.p[0]
print(x.p[0])
print(x.p.contents)
## print x._objects

x.p[0] = "spam spam"
## print x.p[0]
print("+" * 42)
print(x._objects)

Expand All @@ -144,9 +139,6 @@ class RECT(Structure):

r.a = pointer(p1)
r.b = pointer(p1)
## from pprint import pprint as pp
## pp(p1._objects)
## pp(r._objects)

r.a[0].x = 42
r.a[0].y = 99
Expand Down
2 changes: 0 additions & 2 deletions Lib/test/test_ctypes/test_numbers.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,6 @@ class c_int_S(_SimpleCData):


def run_test(rep, msg, func, arg=None):
## items = [None] * rep
items = range(rep)
from time import perf_counter as clock
if arg is not None:
Expand All @@ -243,7 +242,6 @@ def run_test(rep, msg, func, arg=None):

def check_perf():
# Construct 5 objects
from ctypes import c_int

REP = 200000

Expand Down
2 changes: 0 additions & 2 deletions Lib/test/test_ctypes/test_parameters.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,6 @@ def test_c_wchar(self):
def test_int_pointers(self):
LPINT = POINTER(c_int)

## p = pointer(c_int(42))
## x = LPINT.from_param(p)
x = LPINT.from_param(pointer(c_int(42)))
self.assertEqual(x.contents.value, 42)
self.assertEqual(LPINT(c_int(42)).contents.value, 42)
Expand Down
82 changes: 36 additions & 46 deletions Lib/test/test_ctypes/test_pep3118.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,57 +31,47 @@ def test_native_types(self):
for tp, fmt, shape, itemtp in native_types:
ob = tp()
v = memoryview(ob)
try:
self.assertEqual(normalize(v.format), normalize(fmt))
if shape:
self.assertEqual(len(v), shape[0])
else:
self.assertRaises(TypeError, len, v)
self.assertEqual(v.itemsize, sizeof(itemtp))
self.assertEqual(v.shape, shape)
# XXX Issue #12851: PyCData_NewGetBuffer() must provide strides
# if requested. memoryview currently reconstructs missing
# stride information, so this assert will fail.
# self.assertEqual(v.strides, ())

# they are always read/write
self.assertFalse(v.readonly)

n = 1
for dim in v.shape:
n = n * dim
self.assertEqual(n * v.itemsize, len(v.tobytes()))
except:
# so that we can see the failing type
print(tp)
raise
self.assertEqual(normalize(v.format), normalize(fmt))
if shape:
self.assertEqual(len(v), shape[0])
else:
self.assertRaises(TypeError, len, v)
self.assertEqual(v.itemsize, sizeof(itemtp))
self.assertEqual(v.shape, shape)
# XXX Issue #12851: PyCData_NewGetBuffer() must provide strides
# if requested. memoryview currently reconstructs missing
# stride information, so this assert will fail.
# self.assertEqual(v.strides, ())

# they are always read/write
self.assertFalse(v.readonly)

n = 1
for dim in v.shape:
n = n * dim
self.assertEqual(n * v.itemsize, len(v.tobytes()))

def test_endian_types(self):
for tp, fmt, shape, itemtp in endian_types:
ob = tp()
v = memoryview(ob)
try:
self.assertEqual(v.format, fmt)
if shape:
self.assertEqual(len(v), shape[0])
else:
self.assertRaises(TypeError, len, v)
self.assertEqual(v.itemsize, sizeof(itemtp))
self.assertEqual(v.shape, shape)
# XXX Issue #12851
# self.assertEqual(v.strides, ())

# they are always read/write
self.assertFalse(v.readonly)

n = 1
for dim in v.shape:
n = n * dim
self.assertEqual(n * v.itemsize, len(v.tobytes()))
except:
# so that we can see the failing type
print(tp)
raise
self.assertEqual(v.format, fmt)
if shape:
self.assertEqual(len(v), shape[0])
else:
self.assertRaises(TypeError, len, v)
self.assertEqual(v.itemsize, sizeof(itemtp))
self.assertEqual(v.shape, shape)
# XXX Issue #12851
# self.assertEqual(v.strides, ())

# they are always read/write
self.assertFalse(v.readonly)

n = 1
for dim in v.shape:
n = n * dim
self.assertEqual(n * v.itemsize, len(v.tobytes()))


# define some structure classes
Expand Down
17 changes: 0 additions & 17 deletions Lib/test/test_ctypes/test_pointers.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ def test_pass_pointers(self):
func.restype = c_long

i = c_int(12345678)
## func.argtypes = (POINTER(c_int),)
address = func(byref(i))
self.assertEqual(c_int.from_address(address).value, 12345678)

Expand Down Expand Up @@ -80,9 +79,7 @@ def test_callbacks_with_pointers(self):

def func(arg):
for i in range(10):
## print arg[i],
self.result.append(arg[i])
## print
return 0
callback = PROTOTYPE(func)

Expand All @@ -92,37 +89,23 @@ def func(arg):
# The int pointer points to a table containing the numbers 1..10
doit = dll._testfunc_callback_with_pointer

## i = c_int(42)
## callback(byref(i))
## self.assertEqual(i.value, 84)

doit(callback)
## print self.result
doit(callback)
## print self.result

def test_basics(self):
for ct, pt in zip(ctype_types, python_types):
i = ct(42)
p = pointer(i)
## print type(p.contents), ct
self.assertIs(type(p.contents), ct)
# p.contents is the same as p[0]
## print p.contents
## self.assertEqual(p.contents, 42)
## self.assertEqual(p[0], 42)

with self.assertRaises(TypeError):
del p[0]

def test_from_address(self):
a = array.array('i', [100, 200, 300, 400, 500])
addr = a.buffer_info()[0]

p = POINTER(POINTER(c_int))
## print dir(p)
## print p.from_address
## print p.from_address(addr)[0][0]

def test_other(self):
class Table(Structure):
Expand Down
1 change: 0 additions & 1 deletion Lib/test/test_ctypes/test_refcounts.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ def test_1(self):
f.argtypes = [ctypes.c_int, MyCallback]

def callback(value):
#print "called back with", value
return value

self.assertEqual(sys.getrefcount(callback), 2)
Expand Down
3 changes: 0 additions & 3 deletions Lib/test/test_ctypes/test_strings.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,10 @@ def test_create_string_buffer_raw(self):
def test_param_1(self):
BUF = c_char * 4
buf = BUF()
## print c_char_p.from_param(buf)

def test_param_2(self):
BUF = c_char * 4
buf = BUF()
## print BUF.from_param(c_char_p("python"))
## print BUF.from_param(BUF(*"pyth"))

def test_del_segfault(self):
BUF = c_char * 4
Expand Down
Loading