Home - Summaries: (main) : (py3.11) : (py3.12) : Everything - Nightly builds - Benchmarks - RPython - Builders - About

pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_struct_error

self = <pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable object at 0x0bd225b0>

    def test_struct_error(self):
            """
            Check the various ways to get a struct.error.  Note that CPython
            and PyPy might disagree on the specific exception raised in a
            specific situation, e.g. struct.error/TypeError/OverflowError.
            """
            import sys
            calcsize = self.struct.calcsize
            pack = self.struct.pack
            unpack = self.struct.unpack
            error = self.struct.error
            try:
                calcsize("12")              # incomplete struct format
            except error:                   # (but ignored on CPython)
                pass
            raises(error, calcsize, "[")    # bad char in struct format
            raises(error, calcsize, "!P")   # bad char in struct format
            raises(error, pack, "ii", 15)   # struct format requires more arguments
            raises(error, pack, "i", 3, 4)  # too many arguments for struct format
            raises(error, unpack, "ii", "?")# unpack str size too short for format
            raises(error, unpack, "b", "??")# unpack str size too long for format
            raises(error, pack, "c", "foo") # expected a string of length 1
            try:
                pack("0p")                  # bad '0p' in struct format
            except error:                   # (but ignored on CPython)
                pass
            if '__pypy__' in sys.builtin_module_names:
>               raises(error, unpack, "0p", "")   # segfaults on CPython 2.5.2!
E               (application-level) AssertionError: DID NOT RAISE

[/buildbot/slave/own-linux-x86-32/build/pypy/module/struct/test/test_struct.py:312]:28: AssertionError
builder: own-linux-x86-32 build #9539+
test: pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_struct_error