old_contents: import pytest
  
  # here's a little voodoo -- any generic tests depend on this 'framework'
  # fixture, which (sneakily using internal-only APIs) ensures that each
  # tests runs twice: once enabled for Twisted and once enabled for
  # asyncio.
  #
  # ...but there's a catch: not all environments support both, so we
  # catch ImportError and skip those tests.
  #
  # To write a test that only works on one or the other framework, use
  # the framework_tx or framework_aio fixtures instead
  
  
  @pytest.fixture(
      params=['twisted', 'asyncio'],
  )
  def framework(request):
      """
      This is a framework that uses txaio internals to set up a
      framework to use, as the 'official' way is to call .use_twisted()
      or .use_asyncio() -- but we want to test with both frameworks if
      they're available.
      """
  
      try:
          if request.param == 'twisted':
              return framework_tx()
          elif request.param == 'asyncio':
              return framework_aio()
      except ImportError:
          pytest.skip()
  
  
  @pytest.fixture
  def framework_uninitialized():
      import txaio
      from txaio import _unframework
      txaio._use_framework(_unframework)
      txaio._explicit_framework = None
      return _unframework
  
  
  @pytest.fixture
  def framework_tx():
      try:
          import txaio
          from txaio import tx
          tx._loggers = set()
          txaio._use_framework(tx)
          txaio._explicit_framework = 'twisted'
          return tx
      except ImportError:
          pytest.skip()
  
  
  @pytest.fixture
  def framework_aio():
      try:
          import txaio
          from txaio import aio
          aio._loggers = set()
          txaio._use_framework(aio)
          txaio._explicit_framework = 'asyncio'
          return aio
      except ImportError:
          pytest.skip()
  
new_contents: import pytest
  
  # here's a little voodoo -- any generic tests depend on this 'framework'
  # fixture, which (sneakily using internal-only APIs) ensures that each
  # tests runs twice: once enabled for Twisted and once enabled for
  # asyncio.
  #
  # ...but there's a catch: not all environments support both, so we
  # catch ImportError and skip those tests.
  #
  # To write a test that only works on one or the other framework, use
  # the framework_tx or framework_aio fixtures instead
  
  
  @pytest.fixture(
      params=['twisted', 'asyncio'],
  )
  def framework(request):
      """
      This is a framework that uses txaio internals to set up a
      framework to use, as the 'official' way is to call .use_twisted()
      or .use_asyncio() -- but we want to test with both frameworks if
      they're available.
      """
  
      try:
          if request.param == 'twisted':
              return _notfixture_framework_tx()
          elif request.param == 'asyncio':
              return _notfixture_framework_aio()
      except ImportError:
          pytest.skip()
  
  
  @pytest.fixture
  def framework_uninitialized():
      import txaio
      from txaio import _unframework
      txaio._use_framework(_unframework)
      txaio._explicit_framework = None
      return _unframework
  
  
  @pytest.fixture
  def framework_tx():
      return _notfixture_framework_tx()
  
  
  def _notfixture_framework_tx():
      try:
          import txaio
          from txaio import tx
          tx._loggers = set()
          txaio._use_framework(tx)
          txaio._explicit_framework = 'twisted'
          return tx
      except ImportError:
          pytest.skip()
  
  
  @pytest.fixture
  def framework_aio():
      return _notfixture_framework_aio()
  
  
  def _notfixture_framework_aio():
      try:
          import txaio
          from txaio import aio
          aio._loggers = set()
          txaio._use_framework(aio)
          txaio._explicit_framework = 'asyncio'
          return aio
      except ImportError:
          pytest.skip()
  
subject: make pytest happy