PATH: //opt/alt/python311/lib64/python3.11/ctypes/test
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 __init__.py
↓
X
📄 __main__.py
↓
X
📁 __pycache__/
X
📄 test_anon.py
↓
X
📄 test_array_in_pointer.py
↓
X
📄 test_arrays.py
↓
X
📄 test_as_parameter.py
↓
X
📄 test_bitfields.py
↓
X
📄 test_buffers.py
↓
X
📄 test_bytes.py
↓
X
📄 test_byteswap.py
↓
X
📄 test_callbacks.py
↓
X
📄 test_cast.py
↓
X
📄 test_cfuncs.py
↓
X
📄 test_checkretval.py
↓
X
📄 test_delattr.py
↓
X
📄 test_errno.py
↓
X
📄 test_find.py
↓
X
📄 test_frombuffer.py
↓
X
📄 test_funcptr.py
↓
X
📄 test_functions.py
↓
X
📄 test_incomplete.py
↓
X
📄 test_init.py
↓
X
📄 test_internals.py
↓
X
📄 test_keeprefs.py
↓
X
📄 test_libc.py
↓
X
📄 test_loading.py
↓
X
📄 test_macholib.py
↓
X
📄 test_memfunctions.py
↓
X
📄 test_numbers.py
↓
X
📄 test_objects.py
↓
X
📄 test_parameters.py
↓
X
📄 test_pep3118.py
↓
X
📄 test_pickling.py
↓
X
📄 test_pointers.py
↓
X
📄 test_prototypes.py
↓
X
📄 test_python_api.py
↓
X
📄 test_random_things.py
↓
X
📄 test_refcounts.py
↓
X
📄 test_repr.py
↓
X
📄 test_returnfuncptrs.py
↓
X
📄 test_simplesubclasses.py
↓
X
📄 test_sizes.py
↓
X
📄 test_slicing.py
↓
X
📄 test_stringptr.py
↓
X
📄 test_strings.py
↓
X
📄 test_struct_fields.py
↓
X
📄 test_structures.py
↓
X
📄 test_unaligned_structures.py
↓
X
📄 test_unicode.py
↓
X
📄 test_values.py
↓
X
📄 test_varsize_struct.py
↓
X
📄 test_win32.py
↓
X
📄 test_wintypes.py
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: test_memfunctions.py
import sys from test import support import unittest from ctypes import * from ctypes.test import need_symbol class MemFunctionsTest(unittest.TestCase): @unittest.skip('test disabled') def test_overflow(self): # string_at and wstring_at must use the Python calling # convention (which acquires the GIL and checks the Python # error flag). Provoke an error and catch it; see also issue # #3554: <http://bugs.python.org/issue3554> self.assertRaises((OverflowError, MemoryError, SystemError), lambda: wstring_at(u"foo", sys.maxint - 1)) self.assertRaises((OverflowError, MemoryError, SystemError), lambda: string_at("foo", sys.maxint - 1)) def test_memmove(self): # large buffers apparently increase the chance that the memory # is allocated in high address space. a = create_string_buffer(1000000) p = b"Hello, World" result = memmove(a, p, len(p)) self.assertEqual(a.value, b"Hello, World") self.assertEqual(string_at(result), b"Hello, World") self.assertEqual(string_at(result, 5), b"Hello") self.assertEqual(string_at(result, 16), b"Hello, World\0\0\0\0") self.assertEqual(string_at(result, 0), b"") def test_memset(self): a = create_string_buffer(1000000) result = memset(a, ord('x'), 16) self.assertEqual(a.value, b"xxxxxxxxxxxxxxxx") self.assertEqual(string_at(result), b"xxxxxxxxxxxxxxxx") self.assertEqual(string_at(a), b"xxxxxxxxxxxxxxxx") self.assertEqual(string_at(a, 20), b"xxxxxxxxxxxxxxxx\0\0\0\0") def test_cast(self): a = (c_ubyte * 32)(*map(ord, "abcdef")) self.assertEqual(cast(a, c_char_p).value, b"abcdef") self.assertEqual(cast(a, POINTER(c_byte))[:7], [97, 98, 99, 100, 101, 102, 0]) self.assertEqual(cast(a, POINTER(c_byte))[:7:], [97, 98, 99, 100, 101, 102, 0]) self.assertEqual(cast(a, POINTER(c_byte))[6:-1:-1], [0, 102, 101, 100, 99, 98, 97]) self.assertEqual(cast(a, POINTER(c_byte))[:7:2], [97, 99, 101, 0]) self.assertEqual(cast(a, POINTER(c_byte))[:7:7], [97]) @support.refcount_test def test_string_at(self): s = string_at(b"foo bar") # XXX The following may be wrong, depending on how Python # manages string instances self.assertEqual(2, sys.getrefcount(s)) self.assertTrue(s, "foo bar") self.assertEqual(string_at(b"foo bar", 7), b"foo bar") self.assertEqual(string_at(b"foo bar", 3), b"foo") @need_symbol('create_unicode_buffer') def test_wstring_at(self): p = create_unicode_buffer("Hello, World") a = create_unicode_buffer(1000000) result = memmove(a, p, len(p) * sizeof(c_wchar)) self.assertEqual(a.value, "Hello, World") self.assertEqual(wstring_at(a), "Hello, World") self.assertEqual(wstring_at(a, 5), "Hello") self.assertEqual(wstring_at(a, 16), "Hello, World\0\0\0\0") self.assertEqual(wstring_at(a, 0), "") if __name__ == "__main__": unittest.main()
SIMPAN PERUBAHAN