code: def test_init_factory_signature(msg):
      with pytest.raises(TypeError) as excinfo:
          m.TestFactory1("invalid", "constructor", "arguments")
      assert (
          msg(excinfo.value)
          == """
          __init__(): incompatible constructor arguments. The following argument types are supported:
              1. m.factory_constructors.TestFactory1(arg0: m.factory_constructors.tag.unique_ptr_tag, arg1: int)
              2. m.factory_constructors.TestFactory1(arg0: str)
              3. m.factory_constructors.TestFactory1(arg0: m.factory_constructors.tag.pointer_tag)
              4. m.factory_constructors.TestFactory1(arg0: handle, arg1: int, arg2: handle)
  
          Invoked with: 'invalid', 'constructor', 'arguments'
      """
      )
  
      assert (
          msg(m.TestFactory1.__init__.__doc__)
          == """
          __init__(*args, **kwargs)
          Overloaded function.
  
          1. __init__(self: m.factory_constructors.TestFactory1, arg0: m.factory_constructors.tag.unique_ptr_tag, arg1: int) -> None
  
          2. __init__(self: m.factory_constructors.TestFactory1, arg0: str) -> None
  
          3. __init__(self: m.factory_constructors.TestFactory1, arg0: m.factory_constructors.tag.pointer_tag) -> None
  
          4. __init__(self: m.factory_constructors.TestFactory1, arg0: handle, arg1: int, arg2: handle) -> None
      """  # noqa: E501 line too long
      )
  
imports: import re
  import pytest
  from pybind11_tests import ConstructorStats
  from pybind11_tests import factory_constructors
  from pybind11_tests.factory_constructors import tag
label_desc: Use image node_id 2 for calling a global function with example usage: test_init_factory_signature(msg) without return types