new_contents: import asyncio
  import pytest
  import socket
  import sys
  
  
  @pytest.fixture
  def unused_port():
      def f():
          with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
              return s.getsockname()[1]
      return f
  
  
  @pytest.fixture
  def loop(request):
      old_loop = asyncio.get_event_loop()
      loop = asyncio.new_event_loop()
      asyncio.set_event_loop(None)
  
      def fin():
          loop.close()
          asyncio.set_event_loop(old_loop)
  
      request.addfinalizer(fin)
      return loop
  
  
  @pytest.mark.tryfirst
  def pytest_pycollect_makeitem(collector, name, obj):
      if collector.funcnamefilter(name):
          item = pytest.Function(name, parent=collector)
          if 'run_loop' in item.keywords:
              return list(collector._genfunctions(name, obj))
  
  
  @pytest.mark.tryfirst
  def pytest_pyfunc_call(pyfuncitem):
      """
      Run asyncio marked test functions in an event loop instead of a normal
      function call.
      """
      if 'run_loop' in pyfuncitem.keywords:
          funcargs = pyfuncitem.funcargs
          loop = funcargs['loop']
          testargs = {arg: funcargs[arg]
                      for arg in pyfuncitem._fixtureinfo.argnames}
          loop.run_until_complete(pyfuncitem.obj(**testargs))
          return True
  
  
  def pytest_runtest_setup(item):
      if 'run_loop' in item.keywords and 'loop' not in item.fixturenames:
          # inject an event loop fixture for all async tests
          item.fixturenames.append('loop')
  
  
  def pytest_ignore_collect(path, config):
      if 'pep492' in str(path):
          if sys.version_info < (3, 5, 0):
              return True
  
subject: Add conftest.py