Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.41
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
local /
lib /
python3.10 /
ctypes /
test /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-sr-x
2025-06-04 09:23
__init__.py
445
B
-rw-r--r--
2025-06-04 09:23
__main__.py
68
B
-rw-r--r--
2025-06-04 09:23
test_anon.py
2.48
KB
-rw-r--r--
2025-06-04 09:23
test_array_in_pointer.py
1.7
KB
-rw-r--r--
2025-06-04 09:23
test_arrays.py
7.33
KB
-rw-r--r--
2025-06-04 09:23
test_as_parameter.py
6.76
KB
-rw-r--r--
2025-06-04 09:23
test_bitfields.py
10.11
KB
-rw-r--r--
2025-06-04 09:23
test_buffers.py
2.55
KB
-rw-r--r--
2025-06-04 09:23
test_bytes.py
1.94
KB
-rw-r--r--
2025-06-04 09:23
test_byteswap.py
11.14
KB
-rw-r--r--
2025-06-04 09:23
test_callbacks.py
10.33
KB
-rw-r--r--
2025-06-04 09:23
test_cast.py
3.64
KB
-rw-r--r--
2025-06-04 09:23
test_cfuncs.py
7.5
KB
-rw-r--r--
2025-06-04 09:23
test_checkretval.py
968
B
-rw-r--r--
2025-06-04 09:23
test_delattr.py
533
B
-rw-r--r--
2025-06-04 09:23
test_errno.py
2.12
KB
-rw-r--r--
2025-06-04 09:23
test_find.py
4.36
KB
-rw-r--r--
2025-06-04 09:23
test_frombuffer.py
5.09
KB
-rw-r--r--
2025-06-04 09:23
test_funcptr.py
3.93
KB
-rw-r--r--
2025-06-04 09:23
test_functions.py
12.21
KB
-rw-r--r--
2025-06-04 09:23
test_incomplete.py
1023
B
-rw-r--r--
2025-06-04 09:23
test_init.py
1.01
KB
-rw-r--r--
2025-06-04 09:23
test_internals.py
2.57
KB
-rw-r--r--
2025-06-04 09:23
test_keeprefs.py
3.96
KB
-rw-r--r--
2025-06-04 09:23
test_libc.py
1005
B
-rw-r--r--
2025-06-04 09:23
test_loading.py
6.97
KB
-rw-r--r--
2025-06-04 09:23
test_macholib.py
2.07
KB
-rw-r--r--
2025-06-04 09:23
test_memfunctions.py
3.22
KB
-rw-r--r--
2025-06-04 09:23
test_numbers.py
9.25
KB
-rw-r--r--
2025-06-04 09:23
test_objects.py
1.64
KB
-rw-r--r--
2025-06-04 09:23
test_parameters.py
10.83
KB
-rw-r--r--
2025-06-04 09:23
test_pep3118.py
8.48
KB
-rw-r--r--
2025-06-04 09:23
test_pickling.py
2.17
KB
-rw-r--r--
2025-06-04 09:23
test_pointers.py
7.07
KB
-rw-r--r--
2025-06-04 09:23
test_prototypes.py
6.68
KB
-rw-r--r--
2025-06-04 09:23
test_python_api.py
2.7
KB
-rw-r--r--
2025-06-04 09:23
test_random_things.py
2.77
KB
-rw-r--r--
2025-06-04 09:23
test_refcounts.py
3.06
KB
-rw-r--r--
2025-06-04 09:23
test_repr.py
842
B
-rw-r--r--
2025-06-04 09:23
test_returnfuncptrs.py
2.83
KB
-rw-r--r--
2025-06-04 09:23
test_simplesubclasses.py
1.26
KB
-rw-r--r--
2025-06-04 09:23
test_sizes.py
804
B
-rw-r--r--
2025-06-04 09:23
test_slicing.py
5.88
KB
-rw-r--r--
2025-06-04 09:23
test_stringptr.py
2.54
KB
-rw-r--r--
2025-06-04 09:23
test_strings.py
7.13
KB
-rw-r--r--
2025-06-04 09:23
test_struct_fields.py
2.92
KB
-rw-r--r--
2025-06-04 09:23
test_structures.py
26.77
KB
-rw-r--r--
2025-06-04 09:23
test_unaligned_structures.py
1.11
KB
-rw-r--r--
2025-06-04 09:23
test_unicode.py
1.95
KB
-rw-r--r--
2025-06-04 09:23
test_values.py
3.78
KB
-rw-r--r--
2025-06-04 09:23
test_varsize_struct.py
1.8
KB
-rw-r--r--
2025-06-04 09:23
test_win32.py
4.91
KB
-rw-r--r--
2025-06-04 09:23
test_wintypes.py
1.36
KB
-rw-r--r--
2025-06-04 09:23
Save
Rename
import unittest from ctypes import * import re, sys if sys.byteorder == "little": THIS_ENDIAN = "<" OTHER_ENDIAN = ">" else: THIS_ENDIAN = ">" OTHER_ENDIAN = "<" def normalize(format): # Remove current endian specifier and white space from a format # string if format is None: return "" format = format.replace(OTHER_ENDIAN, THIS_ENDIAN) return re.sub(r"\s", "", format) class Test(unittest.TestCase): 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.assertEqual(len(v) * sizeof(itemtp), sizeof(ob)) 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) if v.shape: 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 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.assertEqual(len(v) * sizeof(itemtp), sizeof(ob)) 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) if v.shape: n = 1 for dim in v.shape: n = n * dim self.assertEqual(n, len(v)) except: # so that we can see the failing type print(tp) raise # define some structure classes class Point(Structure): _fields_ = [("x", c_long), ("y", c_long)] class PackedPoint(Structure): _pack_ = 2 _fields_ = [("x", c_long), ("y", c_long)] class Point2(Structure): pass Point2._fields_ = [("x", c_long), ("y", c_long)] class EmptyStruct(Structure): _fields_ = [] class aUnion(Union): _fields_ = [("a", c_int)] class StructWithArrays(Structure): _fields_ = [("x", c_long * 3 * 2), ("y", Point * 4)] class Incomplete(Structure): pass class Complete(Structure): pass PComplete = POINTER(Complete) Complete._fields_ = [("a", c_long)] ################################################################ # # This table contains format strings as they look on little endian # machines. The test replaces '<' with '>' on big endian machines. # # Platform-specific type codes s_bool = {1: '?', 2: 'H', 4: 'L', 8: 'Q'}[sizeof(c_bool)] s_short = {2: 'h', 4: 'l', 8: 'q'}[sizeof(c_short)] s_ushort = {2: 'H', 4: 'L', 8: 'Q'}[sizeof(c_ushort)] s_int = {2: 'h', 4: 'i', 8: 'q'}[sizeof(c_int)] s_uint = {2: 'H', 4: 'I', 8: 'Q'}[sizeof(c_uint)] s_long = {4: 'l', 8: 'q'}[sizeof(c_long)] s_ulong = {4: 'L', 8: 'Q'}[sizeof(c_ulong)] s_longlong = "q" s_ulonglong = "Q" s_float = "f" s_double = "d" s_longdouble = "g" # Alias definitions in ctypes/__init__.py if c_int is c_long: s_int = s_long if c_uint is c_ulong: s_uint = s_ulong if c_longlong is c_long: s_longlong = s_long if c_ulonglong is c_ulong: s_ulonglong = s_ulong if c_longdouble is c_double: s_longdouble = s_double native_types = [ # type format shape calc itemsize ## simple types (c_char, "<c", (), c_char), (c_byte, "<b", (), c_byte), (c_ubyte, "<B", (), c_ubyte), (c_short, "<" + s_short, (), c_short), (c_ushort, "<" + s_ushort, (), c_ushort), (c_int, "<" + s_int, (), c_int), (c_uint, "<" + s_uint, (), c_uint), (c_long, "<" + s_long, (), c_long), (c_ulong, "<" + s_ulong, (), c_ulong), (c_longlong, "<" + s_longlong, (), c_longlong), (c_ulonglong, "<" + s_ulonglong, (), c_ulonglong), (c_float, "<f", (), c_float), (c_double, "<d", (), c_double), (c_longdouble, "<" + s_longdouble, (), c_longdouble), (c_bool, "<" + s_bool, (), c_bool), (py_object, "<O", (), py_object), ## pointers (POINTER(c_byte), "&<b", (), POINTER(c_byte)), (POINTER(POINTER(c_long)), "&&<" + s_long, (), POINTER(POINTER(c_long))), ## arrays and pointers (c_double * 4, "<d", (4,), c_double), (c_double * 0, "<d", (0,), c_double), (c_float * 4 * 3 * 2, "<f", (2,3,4), c_float), (c_float * 4 * 0 * 2, "<f", (2,0,4), c_float), (POINTER(c_short) * 2, "&<" + s_short, (2,), POINTER(c_short)), (POINTER(c_short) * 2 * 3, "&<" + s_short, (3,2,), POINTER(c_short)), (POINTER(c_short * 2), "&(2)<" + s_short, (), POINTER(c_short)), ## structures and unions (Point, "T{<l:x:<l:y:}".replace('l', s_long), (), Point), # packed structures do not implement the pep (PackedPoint, "B", (), PackedPoint), (Point2, "T{<l:x:<l:y:}".replace('l', s_long), (), Point2), (EmptyStruct, "T{}", (), EmptyStruct), # the pep doesn't support unions (aUnion, "B", (), aUnion), # structure with sub-arrays (StructWithArrays, "T{(2,3)<l:x:(4)T{<l:x:<l:y:}:y:}".replace('l', s_long), (), StructWithArrays), (StructWithArrays * 3, "T{(2,3)<l:x:(4)T{<l:x:<l:y:}:y:}".replace('l', s_long), (3,), StructWithArrays), ## pointer to incomplete structure (Incomplete, "B", (), Incomplete), (POINTER(Incomplete), "&B", (), POINTER(Incomplete)), # 'Complete' is a structure that starts incomplete, but is completed after the # pointer type to it has been created. (Complete, "T{<l:a:}".replace('l', s_long), (), Complete), # Unfortunately the pointer format string is not fixed... (POINTER(Complete), "&B", (), POINTER(Complete)), ## other # function signatures are not implemented (CFUNCTYPE(None), "X{}", (), CFUNCTYPE(None)), ] class BEPoint(BigEndianStructure): _fields_ = [("x", c_long), ("y", c_long)] class LEPoint(LittleEndianStructure): _fields_ = [("x", c_long), ("y", c_long)] ################################################################ # # This table contains format strings as they really look, on both big # and little endian machines. # endian_types = [ (BEPoint, "T{>l:x:>l:y:}".replace('l', s_long), (), BEPoint), (LEPoint, "T{<l:x:<l:y:}".replace('l', s_long), (), LEPoint), (POINTER(BEPoint), "&T{>l:x:>l:y:}".replace('l', s_long), (), POINTER(BEPoint)), (POINTER(LEPoint), "&T{<l:x:<l:y:}".replace('l', s_long), (), POINTER(LEPoint)), ] if __name__ == "__main__": unittest.main()