code: def test_cache(self):
      # Array types are cached internally in the _ctypes extension,
      # in a WeakValueDictionary.  Make sure the array type is
      # removed from the cache when the itemtype goes away.  This
      # test will not fail, but will show a leak in the testsuite.
  
      # Create a new type:
      class my_int(c_int):
          pass
  
      # Create a new array type based on it:
      t1 = my_int * 1
      t2 = my_int * 1
      self.assertIs(t1, t2)
  
imports: import ctypes
  import sys
  import unittest
  import warnings
  from ctypes import Structure, Array, sizeof, addressof, create_string_buffer, create_unicode_buffer, c_char, c_wchar, c_byte, c_ubyte, c_short, c_ushort, c_int, c_uint, c_long, c_ulonglong, c_float, c_double, c_longdouble
  from test.support import bigmemtest, _2G
  from ._support import _CData, PyCArrayType, Py_TPFLAGS_DISALLOW_INSTANTIATION, Py_TPFLAGS_IMMUTABLETYPE
label_desc: Use image node_id 9 for calling the ArrayTestCase obj's underlying member method code with example usage: obj.test_cache() without return types