old_contents: from __future__ import print_function, division, absolute_import
  from pyqtgraph import Qt
  from . import utils
  import itertools
  import pytest
  
  # apparently importlib does not exist in python 2.6...
  try:
      import importlib
  except ImportError:
      # we are on python 2.6
      print("If you want to test the examples, please install importlib from "
            "pypi\n\npip install importlib\n\n")
      pass
  
  files = utils.buildFileList(utils.examples)
  frontends = {Qt.PYQT4: False, Qt.PYSIDE: False}
  # sort out which of the front ends are available
  for frontend in frontends.keys():
      try:
          importlib.import_module(frontend)
          frontends[frontend] = True
      except ImportError:
          pass
  
  
  @pytest.mark.parametrize(
      "frontend, f", itertools.product(sorted(list(frontends.keys())), files))
  def test_examples(frontend, f):
      # Test the examples with all available front-ends
      print('frontend = %s. f = %s' % (frontend, f))
      if not frontends[frontend]:
          pytest.skip('%s is not installed. Skipping tests' % frontend)
      utils.testFile(f[0], f[1], utils.sys.executable, frontend)
  
  if __name__ == "__main__":
      pytest.cmdline.main()
  
new_contents: from __future__ import print_function, division, absolute_import
  from pyqtgraph import Qt
  from . import utils
  import itertools
  import pytest
  import os
  import __builtin__
  
  
  # printing on travis ci frequently leads to "interrupted system call" errors.
  # as a workaround, we overwrite the built-in print function (bleh)
  if os.getenv('TRAVIS') is not None:
      def flaky_print(*args):
          """Wrapper for print that retries in case of IOError.
          """
          count = 0
          while count < 5:
              count += 1
              try:
                  orig_print(*args)
                  break
              except IOError:
                  if count >= 5:
                      raise
                  pass
      orig_print = __builtin__.print
      __builtin__.print = flaky_print
      print("Installed wrapper for flaky print.")
  
  
  # apparently importlib does not exist in python 2.6...
  try:
      import importlib
  except ImportError:
      # we are on python 2.6
      print("If you want to test the examples, please install importlib from "
            "pypi\n\npip install importlib\n\n")
      pass
  
  files = utils.buildFileList(utils.examples)
  frontends = {Qt.PYQT4: False, Qt.PYSIDE: False}
  # sort out which of the front ends are available
  for frontend in frontends.keys():
      try:
          importlib.import_module(frontend)
          frontends[frontend] = True
      except ImportError:
          pass
  
  
  @pytest.mark.parametrize(
      "frontend, f", itertools.product(sorted(list(frontends.keys())), files))
  def test_examples(frontend, f):
      # Test the examples with all available front-ends
      print('frontend = %s. f = %s' % (frontend, f))
      if not frontends[frontend]:
          pytest.skip('%s is not installed. Skipping tests' % frontend)
      utils.testFile(f[0], f[1], utils.sys.executable, frontend)
  
  if __name__ == "__main__":
      pytest.cmdline.main()
  
subject: Add print wrapper to work around interrupted system calls on travis