code: def test_boundary_error_message_with_negative_offset(self):
      byte_list = bytearray(10)
      with self.assertRaisesRegex(
          struct.error, r"no space to pack 4 bytes at offset -2"
      ):
          struct.pack_into("<I", byte_list, -2, 123)
  
      with self.assertRaisesRegex(
          struct.error, "offset -11 out of range for 10-byte buffer"
      ):
          struct.pack_into("<B", byte_list, -11, 123)
  
      with self.assertRaisesRegex(
          struct.error,
          r"not enough data to unpack 4 bytes at offset -2",
      ):
          struct.unpack_from("<I", byte_list, -2)
  
      with self.assertRaisesRegex(
          struct.error, "offset -11 out of range for 10-byte buffer"
      ):
          struct.unpack_from("<B", byte_list, -11)
  
imports: from collections import abc
  import array
  import gc
  import math
  import operator
  import unittest
  import struct
  import sys
  import weakref
  from test import support
  from test.support import import_helper
  from test.support.script_helper import assert_python_ok
label_desc: Use image node_id 22 for calling the StructTest obj's underlying member method code with example usage: obj.test_boundary_error_message_with_negative_offset() without return types