code: def test_signal_install_not_supported_ok(self):
      # signal.signal() can throw if the "main thread" doesn't have signals enabled
      assert threading.current_thread() is threading.main_thread()
  
      async def coro():
          pass
  
      with asyncio.Runner() as runner:
          with patch.object(
              signal,
              "signal",
              side_effect=ValueError(
                  "signal only works in main thread of the main interpreter"
              ),
          ):
              runner.run(coro())
  
imports: import _thread
  import asyncio
  import contextvars
  import re
  import signal
  import sys
  import threading
  import unittest
  from test.test_asyncio import utils
  from unittest import mock
  from unittest.mock import patch
label_desc: Use image node_id 15 for calling the RunnerTests obj's underlying member method code with example usage: obj.test_signal_install_not_supported_ok() without return types