✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ beluga.o2switch.net ​🇻​♯➤ 4.18.0-553.123.2.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 185.154.139.77 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.84
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /opt/alt/python37/lib64/python3.7/ctypes/test//test_frombuffer.py
from ctypes import *
import array
import gc
import unittest

class X(Structure):
    _fields_ = [("c_int", c_int)]
    init_called = False
    def __init__(self):
        self._init_called = True

class Test(unittest.TestCase):
    def test_from_buffer(self):
        a = array.array("i", range(16))
        x = (c_int * 16).from_buffer(a)

        y = X.from_buffer(a)
        self.assertEqual(y.c_int, a[0])
        self.assertFalse(y.init_called)

        self.assertEqual(x[:], a.tolist())

        a[0], a[-1] = 200, -200
        self.assertEqual(x[:], a.tolist())

        self.assertRaises(BufferError, a.append, 100)
        self.assertRaises(BufferError, a.pop)

        del x; del y; gc.collect(); gc.collect(); gc.collect()
        a.append(100)
        a.pop()
        x = (c_int * 16).from_buffer(a)

        self.assertIn(a, [obj.obj if isinstance(obj, memoryview) else obj
                          for obj in x._objects.values()])

        expected = x[:]
        del a; gc.collect(); gc.collect(); gc.collect()
        self.assertEqual(x[:], expected)

        with self.assertRaisesRegex(TypeError, "not writable"):
            (c_char * 16).from_buffer(b"a" * 16)
        with self.assertRaisesRegex(TypeError, "not writable"):
            (c_char * 16).from_buffer(memoryview(b"a" * 16))
        with self.assertRaisesRegex(TypeError, "not C contiguous"):
            (c_char * 16).from_buffer(memoryview(bytearray(b"a" * 16))[::-1])
        msg = "bytes-like object is required"
        with self.assertRaisesRegex(TypeError, msg):
            (c_char * 16).from_buffer("a" * 16)

    def test_fortran_contiguous(self):
        try:
            import _testbuffer
        except ImportError as err:
            self.skipTest(str(err))
        flags = _testbuffer.ND_WRITABLE | _testbuffer.ND_FORTRAN
        array = _testbuffer.ndarray(
            [97] * 16, format="B", shape=[4, 4], flags=flags)
        with self.assertRaisesRegex(TypeError, "not C contiguous"):
            (c_char * 16).from_buffer(array)
        array = memoryview(array)
        self.assertTrue(array.f_contiguous)
        self.assertFalse(array.c_contiguous)
        with self.assertRaisesRegex(TypeError, "not C contiguous"):
            (c_char * 16).from_buffer(array)

    def test_from_buffer_with_offset(self):
        a = array.array("i", range(16))
        x = (c_int * 15).from_buffer(a, sizeof(c_int))

        self.assertEqual(x[:], a.tolist()[1:])
        with self.assertRaises(ValueError):
            c_int.from_buffer(a, -1)
        with self.assertRaises(ValueError):
            (c_int * 16).from_buffer(a, sizeof(c_int))
        with self.assertRaises(ValueError):
            (c_int * 1).from_buffer(a, 16 * sizeof(c_int))

    def test_from_buffer_memoryview(self):
        a = [c_char.from_buffer(memoryview(bytearray(b'a')))]
        a.append(a)
        del a
        gc.collect()  # Should not crash

    def test_from_buffer_copy(self):
        a = array.array("i", range(16))
        x = (c_int * 16).from_buffer_copy(a)

        y = X.from_buffer_copy(a)
        self.assertEqual(y.c_int, a[0])
        self.assertFalse(y.init_called)

        self.assertEqual(x[:], list(range(16)))

        a[0], a[-1] = 200, -200
        self.assertEqual(x[:], list(range(16)))

        a.append(100)
        self.assertEqual(x[:], list(range(16)))

        self.assertEqual(x._objects, None)

        del a; gc.collect(); gc.collect(); gc.collect()
        self.assertEqual(x[:], list(range(16)))

        x = (c_char * 16).from_buffer_copy(b"a" * 16)
        self.assertEqual(x[:], b"a" * 16)
        with self.assertRaises(TypeError):
            (c_char * 16).from_buffer_copy("a" * 16)

    def test_from_buffer_copy_with_offset(self):
        a = array.array("i", range(16))
        x = (c_int * 15).from_buffer_copy(a, sizeof(c_int))

        self.assertEqual(x[:], a.tolist()[1:])
        with self.assertRaises(ValueError):
            c_int.from_buffer_copy(a, -1)
        with self.assertRaises(ValueError):
            (c_int * 16).from_buffer_copy(a, sizeof(c_int))
        with self.assertRaises(ValueError):
            (c_int * 1).from_buffer_copy(a, 16 * sizeof(c_int))

    def test_abstract(self):
        from ctypes import _Pointer, _SimpleCData, _CFuncPtr

        self.assertRaises(TypeError, Array.from_buffer, bytearray(10))
        self.assertRaises(TypeError, Structure.from_buffer, bytearray(10))
        self.assertRaises(TypeError, Union.from_buffer, bytearray(10))
        self.assertRaises(TypeError, _CFuncPtr.from_buffer, bytearray(10))
        self.assertRaises(TypeError, _Pointer.from_buffer, bytearray(10))
        self.assertRaises(TypeError, _SimpleCData.from_buffer, bytearray(10))

        self.assertRaises(TypeError, Array.from_buffer_copy, b"123")
        self.assertRaises(TypeError, Structure.from_buffer_copy, b"123")
        self.assertRaises(TypeError, Union.from_buffer_copy, b"123")
        self.assertRaises(TypeError, _CFuncPtr.from_buffer_copy, b"123")
        self.assertRaises(TypeError, _Pointer.from_buffer_copy, b"123")
        self.assertRaises(TypeError, _SimpleCData.from_buffer_copy, b"123")

if __name__ == '__main__':
    unittest.main()


Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
25 Jul 2024 8.42 AM
root / linksafe
0755
__pycache__
--
25 Jul 2024 8.42 AM
root / linksafe
0755
__init__.py
0.39 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
__main__.py
0.066 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_anon.py
2.48 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_array_in_pointer.py
1.697 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_arrays.py
6.91 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_as_parameter.py
6.757 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_bitfields.py
9.814 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_buffers.py
2.55 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_bytes.py
1.94 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_byteswap.py
11.144 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_callbacks.py
9.749 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_cast.py
3.641 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_cfuncs.py
7.5 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_checkretval.py
0.945 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_delattr.py
0.521 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_errno.py
2.12 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_find.py
4.329 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_frombuffer.py
5.093 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_funcptr.py
3.932 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_functions.py
12.261 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_incomplete.py
0.999 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_init.py
1.015 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_internals.py
2.569 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_keeprefs.py
3.963 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_libc.py
0.981 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_loading.py
4.215 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_macholib.py
2.293 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_memfunctions.py
3.216 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_numbers.py
9.09 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_objects.py
1.638 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_parameters.py
9.344 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_pep3118.py
8.316 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_pickling.py
2.166 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_pointers.py
7.069 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_prototypes.py
6.685 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_python_api.py
2.799 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_random_things.py
2.761 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_refcounts.py
2.516 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_repr.py
0.822 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_returnfuncptrs.py
2.825 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_simplesubclasses.py
1.259 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_sizes.py
0.785 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_slicing.py
5.884 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_stringptr.py
2.477 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_strings.py
7.132 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_struct_fields.py
2.364 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_structures.py
25.261 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_unaligned_structures.py
1.187 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_unicode.py
1.72 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_values.py
3.751 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_varsize_struct.py
1.799 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_win32.py
5.959 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
test_wintypes.py
1.432 KB
17 Apr 2024 5.36 PM
root / linksafe
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF