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 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
