code: def test_cancel_process_wait(self):
      # Issue #23140: cancel Process.wait()
  
      async def cancel_wait():
          proc = await asyncio.create_subprocess_exec(*PROGRAM_BLOCKED)
  
          # Create an internal future waiting on the process exit
          task = self.loop.create_task(proc.wait())
          self.loop.call_soon(task.cancel)
          try:
              await task
          except asyncio.CancelledError:
              pass
  
          # Cancel the future
          task.cancel()
  
          # Kill the process and wait until it is done
          proc.kill()
          await proc.wait()
  
      self.loop.run_until_complete(cancel_wait())
  
imports: import os
  import signal
  import sys
  import textwrap
  import unittest
  import warnings
  from unittest import mock
  import asyncio
  from asyncio import base_subprocess
  from asyncio import subprocess
  from test.test_asyncio import utils
  from test import support
  from test.support import os_helper
label_desc: Use image node_id 19 for calling the SubprocessMixin obj's underlying member method code with example usage: obj.test_cancel_process_wait() without return types