code: def test_print(capture):
      with capture:
          m.print_function()
      assert (
          capture
          == """
          Hello, World!
          1 2.0 three True -- multiple args
          *args-and-a-custom-separator
          no new line here -- next print
          flush
          py::print + str.format = this
      """
      )
      assert capture.stderr == "this goes to stderr"
  
      with pytest.raises(RuntimeError) as excinfo:
          m.print_failure()
      assert str(
          excinfo.value
      ) == "Unable to convert call argument " + (
          "'1' of type 'UnregisteredType' to Python object"
          if detailed_error_messages_enabled
          else "to Python object (#define PYBIND11_DETAILED_ERROR_MESSAGES or compile in debug mode for details)"
      )
  
imports: import contextlib
  import sys
  import types
  import pytest
  import env
  from pybind11_tests import detailed_error_messages_enabled
  from pybind11_tests import pytypes
label_desc: Use image node_id 28 for calling a global function with example usage: test_print(capture) without return types