code: def test_run_keeps_context(self):
      cvar = contextvars.ContextVar("cvar", default=-1)
  
      async def f(val):
          old = cvar.get()
          await asyncio.sleep(0)
          cvar.set(val)
          return old
  
      async def get_context():
          return contextvars.copy_context()
  
      with asyncio.Runner() as runner:
          self.assertEqual(-1, runner.run(f(1)))
          self.assertEqual(1, runner.run(f(2)))
  
          self.assertEqual(2, runner.run(get_context()).get(cvar))
  
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 10 for calling the RunnerTests obj's underlying member method code with example usage: obj.test_run_keeps_context() and returns: old, contextvars