[Piglit] [PATCH 00/13] Add shader and glslparser tests with loop

Dylan Baker baker.dylan.c at gmail.com
Thu Feb 19 10:39:20 PST 2015


Bump.

On Thu, Feb 12, 2015 at 10:38:36AM -0800, Dylan Baker wrote:
> This is a second set of patches from my rather lengthy RFC from a few
> weeks ago.
> 
> This one removes the need for add_shader_test_dir and
> import_glsl_parser_tests, and replaces them with a loop at the top of
> all.py. As groundwork it replaces the TestProfile.tests dictionary with
> a new Tree object, which is like a dictionary but it automatically
> grows branches whenever they are used, removing the need for the very
> common pattern:
> foobar = {}
> spec['foo'] = {}
> spec['foo']['bar'] = {}
> spec['foo']['bar']['foobar'] = foobar
> 
> And allowing it to be replaced with
> foobar = spec['foo']['bar']['foobar']
> 
> This makes some additional changes to the json on disk format, which are
> explained in the later patches, with the only really problem being that
> in order to make all of this work clean the final 3 patches will need to
> combine into one very large patch, or bisecting may not work.
> 
> If someone has a better idea for how to do this (other than introducing
> multiple json version bumps), I'd be happy to make those changes.
> 
> ultimately this removes a lot of code from hot paths, and adds code for
> updating the json results version, which isn't a particularly hot path
> and should be missed the majority of the time.
> 
> Dylan Baker (13):
>   profiles: add new profiles that only run specific test classes.
>   profile.py: Use a Tree structure for Profile.tests
>   profile.py: Lower all test keys before getting and setting.
>   shader_test.py: Removed recursive keyword from add_shader_test_dir
>   shader_test.py: remove add_shader_test
>   shader_test.py: use os.path.splitext instead of rsplit('.')
>   shader_test.py: use os.walk in add_shader_test_Dir
>   shader_test.py: convert add_shader_test_dir to use a flat group
>   all.py: Replace use of add_glsl_parser_test with import_glsl_parser_test
>   glsl_parser_test.py: remove add_glsl_parser_test
>   all.py: replace add_shader_test_dir with loop in all.py
>   framework: update json version to v4 to fix test changes
>   all.py: replace import_glsl_parser_test with loop search
> 
>  README                                    |   6 +
>  framework/backends/json.py                |   2 +-
>  framework/profile.py                      |  63 ++-
>  framework/results.py                      |  55 ++
>  framework/test/glsl_parser_test.py        |  69 +--
>  framework/test/shader_test.py             |  34 --
>  framework/tests/glsl_parser_test_tests.py |   4 +-
>  framework/tests/profile_tests.py          |  70 ++-
>  framework/tests/results_v2_tests.py       |  92 ++++
>  framework/tests/results_v3_tests.py       | 134 +++++
>  framework/tests/shader_test_tests.py      |  11 -
>  framework/tests/utils.py                  |  48 ++
>  tests/all.py                              | 873 ++++++++----------------------
>  tests/cl.py                               |  25 +-
>  tests/glslparser.py                       |   8 +
>  tests/gpu.py                              |   6 +-
>  tests/quick.py                            |   9 +-
>  tests/shader.py                           |   8 +
>  18 files changed, 701 insertions(+), 816 deletions(-)
>  create mode 100644 framework/tests/results_v2_tests.py
>  create mode 100644 framework/tests/results_v3_tests.py
>  create mode 100644 tests/glslparser.py
>  create mode 100644 tests/shader.py
> 
> -- 
> 2.3.0
> 
-------------- 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/20150219/7111cd08/attachment.sig>


More information about the Piglit mailing list