[Piglit] [PATCH 0/5] Python 3 port, again

Dylan Baker baker.dylan.c at gmail.com
Thu Jul 16 15:53:15 PDT 2015


On Thu, Jul 09, 2015 at 02:25:40PM -0700, Dylan Baker wrote:
> This series ports the python framework to python 3. This is an updated
> version of the previous incarnations of this series, rebased on master.
> 
> So what does python3 buy us? 
> First, it buys us new features, and new features in the future. Python
> 2.x is in maintenance mode, so no new features. Features that this
> series takes advantage of:
>  - builtin xz support. Everyone gets xz, no modules required, no xz
>    binary required, it "just works"
>  - subprocess timeouts. Finally, a reliable, cross platform method for
>    allowing tests to time out
>  - 'raise from' gives better error reporting
>  - no argument super(), which is, admittedly probably not very
>    interesting to most people, but it's awesome to me.
> 
> I have an additional series that can land after these land that take
> advantage of these features:
>  - a new spinner-less, lock-less Log class. With timeouts we don't need to
>    worry about tests running forever, they'll be killed automatically.
>    This allows us to simplify the Log class significantly, and since
>    it's now lock-less we don't spend time in lock contention.
> 
> 
> But there are still users that don't have the option of python 3!
> Here's my idea for handling this:
> Before I push python3 to master, I'll create a new branch,
> python2-master. The idea would be that any non framework change could be
> cherry picked over to this branch as long as there are uses that need
> it, and they will work. Obviously any framework changes that are needed
> to make this work will get backported.
> 
> This is available at my github:
> https://github.com/dcbaker/piglit submit/python3
> 
> Dylan Baker (5):
>   framework: Port framework to python3
>   framework: Improve test timeouts
>   framework/test: allow tests to set per instance timeouts from
>     initializer
>   framework: Simplify super calls as python3 allows
>   framework: make exception reporting better using `raise from`
> 
>  CMakeLists.txt                               |   2 +-
>  framework/backends/__init__.py               |   2 +-
>  framework/backends/abstract.py               |  11 +-
>  framework/backends/compression.py            | 103 ++---------------
>  framework/backends/json.py                   |  15 ++-
>  framework/backends/junit.py                  |  14 +--
>  framework/core.py                            |  20 ++--
>  framework/dmesg.py                           |   8 +-
>  framework/grouptools.py                      |   2 +-
>  framework/log.py                             |  17 ++-
>  framework/profile.py                         |  32 +++---
>  framework/programs/run.py                    |  10 +-
>  framework/programs/summary.py                |   3 +-
>  framework/results.py                         |   3 +-
>  framework/status.py                          |  24 ++--
>  framework/summary.py                         |  17 ++-
>  framework/test/__init__.py                   |   2 +-
>  framework/test/base.py                       | 160 +++++++--------------------
>  framework/test/deqp.py                       |   6 +-
>  framework/test/gleantest.py                  |  12 +-
>  framework/test/glsl_parser_test.py           |   7 +-
>  framework/test/gtest.py                      |   2 +-
>  framework/test/oclconform.py                 |   2 +-
>  framework/test/opencv.py                     |   2 +-
>  framework/test/piglit_test.py                |  24 ++--
>  framework/test/shader_test.py                |   3 +-
>  framework/tests/backends_tests.py            |   4 +-
>  framework/tests/base_tests.py                |  23 +++-
>  framework/tests/core_tests.py                |  10 +-
>  framework/tests/deqp_tests.py                |   2 +-
>  framework/tests/dmesg_tests.py               |  16 +--
>  framework/tests/gleantest_tests.py           |   2 +-
>  framework/tests/glsl_parser_test_tests.py    |   8 +-
>  framework/tests/grouptools_tests.py          |   2 -
>  framework/tests/gtest_tests.py               |   2 +-
>  framework/tests/integration_tests.py         |   2 +-
>  framework/tests/json_backend_tests.py        |   5 +-
>  framework/tests/json_results_update_tests.py |   7 +-
>  framework/tests/json_tests.py                |   4 +-
>  framework/tests/junit_backends_tests.py      |  15 ++-
>  framework/tests/log_tests.py                 |   4 +-
>  framework/tests/opencv_tests.py              |   2 +-
>  framework/tests/piglit_test_tests.py         |   2 +-
>  framework/tests/profile_tests.py             |   1 -
>  framework/tests/results_tests.py             |   1 -
>  framework/tests/run_parser_tests.py          |   2 +-
>  framework/tests/shader_test_tests.py         |   2 +-
>  framework/tests/status_tests.py              |   4 +-
>  framework/tests/summary_tests.py             |   3 +-
>  framework/tests/test_lists.py                |   2 +-
>  framework/tests/utils.py                     |  22 ++--
>  piglit                                       |   4 +-
>  piglit-print-commands.py                     |   4 +-
>  piglit-resume.py                             |   2 +-
>  piglit-run.py                                |   2 +-
>  piglit-summary-html.py                       |   2 +-
>  piglit-summary.py                            |   2 +-
>  templates/index.mako                         |   2 +-
>  templates/testrun_info.mako                  |   4 +-
>  tests/all.py                                 |   9 +-
>  tests/cl.py                                  |   2 +-
>  tests/deqp_gles3.py                          |   2 +-
>  tests/es3conform.py                          |   6 +-
>  tests/igt.py                                 |   6 +-
>  tests/oglconform.py                          |   4 +-
>  tests/quick.py                               |   1 +
>  tests/xts.py                                 |   5 +-
>  67 files changed, 276 insertions(+), 431 deletions(-)
> 
> -- 
> 2.4.5
> 

bump
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20150716/3d39186c/attachment.sig>


More information about the Piglit mailing list