[Piglit] [PATCH 00/20] Piglit framework patches for Python 3.3 and test timeout [v2]

Jon Severinsson jon at severinsson.net
Wed Apr 17 09:14:39 PDT 2013

Submitting a new version of this for review. I have rebased the series on the
latest git, droped the patches Kenneth Graunke already commited, and updated
the remaining patches based on his comments and suggestion.

The series still preservers Python 2.[67] compatibility, because even if I
think that dropping it would make life easier in the long term, introducing
a flag day when everyone have to change at once is not going to work...

The first 14 patches are all needed to get piglit to run on Python 3.x, the
next 4 patches are cleanups I did along the way, and the last 2 patches are
the timeout work I got into this to do in the first place.

Changes since v1:
* Old patches 01, 02, 03, 08, 10, and 12 have been dropped as Kenneth Graunke
  have commited them already.
* Old patch 04 "framework: Update import statements to support Python 3.x in
  addition to 2.x." have been improved and split into new patches 01-06 and
  15, based on suggestions from Kenneth Graunke.
* Patch 11 "framework: Port from execfile to compile & exec" have been
  rewritten to fix issues found by Kenneth Graunke.

Best regards
Jon Severinsson


Kenneth Graunke (1):
      framework: Use explicit relative imports to be Python 3 compatible.

Jon Severinsson (19):
      framework: Convert the ConfigParser import to lowercase.
      framework: Convert the Queue import to lowercase.
      framework: Make configparser import Python 3.x compatible.
      framework: Make queue import Python 3.x compatible.
      framework: Make StringIO import Python 3.x compatible.
      framework: Update unicode handling of subprocess output to support Python 3.x as well as 2.x.
      framework: Fix unicode handling of command line arguments.
      framework: Treat wglinfo, glxinfo and lspci output as text, not binary data.
      framework: Use print as a function.
      framework: Port from execfile to compile & exec (required by python 3.x)
      framework: Update sequence type usage to support Python 3.x as well as Python 2.x.
      framework: Update string type checking to work on both Python 2.x and Python 3.x
      framework: Open summary files in binary mode, as we are doing the utf-8 encoding manually before writing.
      framework: Add script path, rather than realpath(argv[0]) path, to module search path.
      framework: Treat all termination by signal as crashes.
      framework: Simplify flow control in ExecTest.run().
      framework: Improve the ExecTest run() and get_command_result() implementation.
      framework: Add support for a "timeout" result code.
      framework: Kill tests running for more than an hour [Python 3.3+ only]

 framework/core.py             |   28 ++++++++++++-----
 framework/exectest.py         |  162 ++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------
 framework/gleantest.py        |   10 +++---
 framework/glsl_parser_test.py |   31 ++++++++++++------
 framework/log.py              |    5 +--
 framework/shader_test.py      |    8 +++--
 framework/summary.py          |   19 +++++++-----
 framework/threadpool.py       |   49 ++++++++++++++++-------------
 framework/threads.py          |    5 +--
 piglit-merge-results.py       |    6 ++--
 piglit-print-commands.py      |    2 +-
 piglit-run.py                 |   21 +++++++------
 piglit-summary-html.py        |   33 +++++++++++++-------
 piglit-summary-junit.py       |    2 +-
 templates/index.css           |    8 ++---
 tests/all.tests               |   12 ++++---
 tests/quick-driver.tests      |    3 +-
 tests/quick.tests             |    3 +-
 tests/r300.tests              |    3 +-
 tests/r500.tests              |    3 +-
 tests/r600.tests              |    3 +-
 21 files changed, 234 insertions(+), 182 deletions(-)

More information about the Piglit mailing list