summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_struct.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_struct.py')
-rw-r--r--Lib/test/test_struct.py24
1 files changed, 10 insertions, 14 deletions
diff --git a/Lib/test/test_struct.py b/Lib/test/test_struct.py
index 6b1f22f..8d4b13a 100644
--- a/Lib/test/test_struct.py
+++ b/Lib/test/test_struct.py
@@ -700,20 +700,6 @@ class StructTest(unittest.TestCase):
with self.assertRaises(TypeError):
cls.x = 1
- @support.cpython_only
- def test__struct_Struct__new__initialized(self):
- # See https://github.com/python/cpython/issues/78724
-
- s = struct.Struct.__new__(struct.Struct, "b")
- s.unpack_from(b"abcd")
-
- @support.cpython_only
- def test__struct_Struct_subclassing(self):
- class Bob(struct.Struct):
- pass
-
- s = Bob("b")
- s.unpack_from(b"abcd")
def test_issue35714(self):
# Embedded null characters should not be allowed in format strings.
@@ -774,6 +760,16 @@ class StructTest(unittest.TestCase):
test_error_propagation('N')
test_error_propagation('n')
+ def test_struct_subclass_instantiation(self):
+ # Regression test for https://github.com/python/cpython/issues/112358
+ class MyStruct(struct.Struct):
+ def __init__(self):
+ super().__init__('>h')
+
+ my_struct = MyStruct()
+ self.assertEqual(my_struct.pack(12345), b'\x30\x39')
+
+
class UnpackIteratorTest(unittest.TestCase):
"""
Tests for iterative unpacking (struct.Struct.iter_unpack).