code: def kc(jp_asyncio_loop):
      try:
          KernelSpecManager().get_kernel_spec("echo")
      except NoSuchKernel:
          pytest.skip()
  
      async def start():
          return await start_new_async_kernel(kernel_name="echo")
  
      km, kc = jp_asyncio_loop.run_until_complete(start())
      yield kc
  
      async def stop():
          await km.shutdown_kernel()
  
      jp_asyncio_loop.run_until_complete(stop())
      kc.stop_channels()
  
imports: import os
  import platform
  import sys
  from threading import Event
  from unittest import TestCase, mock
  import pytest
  from IPython.utils.capture import capture_output
  from traitlets import DottedObjectName, Type
  from jupyter_client.client import validate_string_dict
  from jupyter_client.kernelspec import KernelSpecManager, NoSuchKernel
  from jupyter_client.manager import KernelManager, start_new_async_kernel, start_new_kernel
  from jupyter_client.threaded import ThreadedKernelClient, ThreadedZMQSocketChannel
label_desc: Use image node_id 1 for calling a global function with example usage: kc(jp_asyncio_loop) and returns: unknown