code: def test_info(self):
      self.assertIsNone(dylib_info("completely/invalid"))
      self.assertIsNone(dylib_info("completely/invalide_debug"))
      self.assertEqual(
          dylib_info("P/Foo.dylib"), d("P", "Foo.dylib", "Foo")
      )
      self.assertEqual(
          dylib_info("P/Foo_debug.dylib"),
          d("P", "Foo_debug.dylib", "Foo", suffix="debug"),
      )
      self.assertEqual(
          dylib_info("P/Foo.A.dylib"), d("P", "Foo.A.dylib", "Foo", "A")
      )
      self.assertEqual(
          dylib_info("P/Foo_debug.A.dylib"),
          d("P", "Foo_debug.A.dylib", "Foo_debug", "A"),
      )
      self.assertEqual(
          dylib_info("P/Foo.A_debug.dylib"),
          d("P", "Foo.A_debug.dylib", "Foo", "A", "debug"),
      )
  
file_path: cpython/Lib/test/test_ctypes/test_macholib.py
imports: import os
  import sys
  import unittest
  from ctypes.macholib.dyld import dyld_find
  from ctypes.macholib.dylib import dylib_info
  from ctypes.macholib.framework import framework_info
label_desc: Use image node_id 2 for calling the MachOTest obj's underlying member method code with example usage: obj.test_info() without return types