Re: [Piglit] [PATCH v2] tests: Added a couple of new test profiles for the Khronos CTS runner
Tested-by: Mark Janes Andres Gomez writes: > After: > https://github.com/KhronosGroup/VK-GL-CTS/commit/af8c22a343ee2c230488f6de71b36dc3070b2024 > > OpenGL GL*-CTS case lists were renamed to KHR-GL*. > > We want to keep the existing profiles so we are able to keep running > the caselists from previous CTS releases and for branches in the open > sourced repository created for API-specific release branches, as > explained at: > https://github.com/KhronosGroup/VK-GL-CTS/wiki/Contributing#branches > > Therefore, we add these 2 new test profiles to be able to run the > newly named tests in the master branch of the opensourced Khronos CTS > tests at: > https://github.com/KhronosGroup/VK-GL-CTS > > Signed-off-by: Andres Gomez > Cc: Mark Janes > Cc: Dylan Baker > Cc: Marek Olšák > Acked-by: Marek Olšák > Acked-by: Dylan Baker > --- > piglit.conf.example | 10 ++ > tests/khr_gl.py | 93 > + > tests/khr_gl45.py | 69 +++ > 3 files changed, 172 insertions(+) > create mode 100644 tests/khr_gl.py > create mode 100644 tests/khr_gl45.py > > diff --git a/piglit.conf.example b/piglit.conf.example > index 17f2329a0..ced807b80 100644 > --- a/piglit.conf.example > +++ b/piglit.conf.example > @@ -124,6 +124,16 @@ testB > ; overrides the value set here. > ;extra_args=--deqp-visibility hidden > > +[khr_gl] > +; path to the Khronos CTS OpenGL executable > +; can be overwritten by PIGLIT_KHR_GL_BIN environment variable > +;bin=/home/knuth/vk-gl-cts/build/external/openglcts/modules/glcts > + > +; Space-separated list of extra command line arguments for cts. The > +; option is not required. The environment variable PIGLIT_KHR_GL_EXTRA_ARGS > +; overrides the value set here. > +;extra_args=--deqp-visibility hidden > + > ; Section for specific oclconform test. One of these sections is required > for > ; each test list in the oclconform section and must be called: > ; oclconform-$testname > diff --git a/tests/khr_gl.py b/tests/khr_gl.py > new file mode 100644 > index 0..0cc86afff > --- /dev/null > +++ b/tests/khr_gl.py > @@ -0,0 +1,93 @@ > +# Copyright (c) 2017 Intel Corporation > + > +# Permission is hereby granted, free of charge, to any person obtaining a > copy > +# of this software and associated documentation files (the "Software"), to > deal > +# in the Software without restriction, including without limitation the > rights > +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell > +# copies of the Software, and to permit persons to whom the Software is > +# furnished to do so, subject to the following conditions: > + > +# The above copyright notice and this permission notice shall be included in > +# all copies or substantial portions of the Software. > + > +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE > +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER > +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > FROM, > +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN > THE > +# SOFTWARE. > + > +"""Piglit integration for the now open sourced Khronos CTS tests being > +developed at https://github.com/KhronosGroup/VK-GL-CTS > + > +By default this will run GL30, GL31, GL32, GL33, GL40, GL41, GL42, GL43, GL44 > +and GL45 test cases. Those desiring to run only a subset of them should > consider > +using the -t or -x options to include or exclude tests. > + > +For example: > +./piglit run khr_gl -c foo -t GL30- would run only GL30 tests > + > +This integration requires some configuration in piglit.conf, or the use of > +environment variables. > + > +In piglit.conf one should set the following: > +[khr_gl]:bin -- Path to the glcts binary > +[khr_gl]:extra_args -- any extra arguments to be passed to cts (optional) > + > +Alternatively (or in addition, since environment variables have precedence), > +one could set: > +PIGLIT_KHR_GL_BIN -- environment equivalent of [khr_gl]:bin > +PIGLIT_KHR_GL_EXTRA_ARGS -- environment equivalent of [khr_gl]:extra_args > + > +""" > + > +from __future__ import ( > +absolute_import, division, print_function, unicode_literals > +) > +import itertools > + > +from framework.test import deqp > + > +__all__ = ['profile'] > + > +_KHR_BIN = deqp.get_option('PIGLIT_KHR_GL_BIN', ('khr_gl', 'bin'), > + required=True) > + > +_EXTRA_ARGS = deqp.get_option('PIGLIT_KHR_GL_EXTRA_ARGS', ('khr_gl', > 'extra_args'), > + default='').split() > + > + > +class DEQPKHRTest(deqp.DEQPBaseTest): > +deqp_bin = _KHR_BIN > + > +@property > +def extra_args(self): > +return super(DEQPKHRTest, self).extra_args + \ > +[x for x in _EXTRA_
[Piglit] [PATCH v2] tests: Added a couple of new test profiles for the Khronos CTS runner
After: https://github.com/KhronosGroup/VK-GL-CTS/commit/af8c22a343ee2c230488f6de71b36dc3070b2024 OpenGL GL*-CTS case lists were renamed to KHR-GL*. We want to keep the existing profiles so we are able to keep running the caselists from previous CTS releases and for branches in the open sourced repository created for API-specific release branches, as explained at: https://github.com/KhronosGroup/VK-GL-CTS/wiki/Contributing#branches Therefore, we add these 2 new test profiles to be able to run the newly named tests in the master branch of the opensourced Khronos CTS tests at: https://github.com/KhronosGroup/VK-GL-CTS Signed-off-by: Andres Gomez Cc: Mark Janes Cc: Dylan Baker Cc: Marek Olšák Acked-by: Marek Olšák Acked-by: Dylan Baker --- piglit.conf.example | 10 ++ tests/khr_gl.py | 93 + tests/khr_gl45.py | 69 +++ 3 files changed, 172 insertions(+) create mode 100644 tests/khr_gl.py create mode 100644 tests/khr_gl45.py diff --git a/piglit.conf.example b/piglit.conf.example index 17f2329a0..ced807b80 100644 --- a/piglit.conf.example +++ b/piglit.conf.example @@ -124,6 +124,16 @@ testB ; overrides the value set here. ;extra_args=--deqp-visibility hidden +[khr_gl] +; path to the Khronos CTS OpenGL executable +; can be overwritten by PIGLIT_KHR_GL_BIN environment variable +;bin=/home/knuth/vk-gl-cts/build/external/openglcts/modules/glcts + +; Space-separated list of extra command line arguments for cts. The +; option is not required. The environment variable PIGLIT_KHR_GL_EXTRA_ARGS +; overrides the value set here. +;extra_args=--deqp-visibility hidden + ; Section for specific oclconform test. One of these sections is required for ; each test list in the oclconform section and must be called: ; oclconform-$testname diff --git a/tests/khr_gl.py b/tests/khr_gl.py new file mode 100644 index 0..0cc86afff --- /dev/null +++ b/tests/khr_gl.py @@ -0,0 +1,93 @@ +# Copyright (c) 2017 Intel Corporation + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +"""Piglit integration for the now open sourced Khronos CTS tests being +developed at https://github.com/KhronosGroup/VK-GL-CTS + +By default this will run GL30, GL31, GL32, GL33, GL40, GL41, GL42, GL43, GL44 +and GL45 test cases. Those desiring to run only a subset of them should consider +using the -t or -x options to include or exclude tests. + +For example: +./piglit run khr_gl -c foo -t GL30- would run only GL30 tests + +This integration requires some configuration in piglit.conf, or the use of +environment variables. + +In piglit.conf one should set the following: +[khr_gl]:bin -- Path to the glcts binary +[khr_gl]:extra_args -- any extra arguments to be passed to cts (optional) + +Alternatively (or in addition, since environment variables have precedence), +one could set: +PIGLIT_KHR_GL_BIN -- environment equivalent of [khr_gl]:bin +PIGLIT_KHR_GL_EXTRA_ARGS -- environment equivalent of [khr_gl]:extra_args + +""" + +from __future__ import ( +absolute_import, division, print_function, unicode_literals +) +import itertools + +from framework.test import deqp + +__all__ = ['profile'] + +_KHR_BIN = deqp.get_option('PIGLIT_KHR_GL_BIN', ('khr_gl', 'bin'), + required=True) + +_EXTRA_ARGS = deqp.get_option('PIGLIT_KHR_GL_EXTRA_ARGS', ('khr_gl', 'extra_args'), + default='').split() + + +class DEQPKHRTest(deqp.DEQPBaseTest): +deqp_bin = _KHR_BIN + +@property +def extra_args(self): +return super(DEQPKHRTest, self).extra_args + \ +[x for x in _EXTRA_ARGS if not x.startswith('--deqp-case')] + +# Add all of the suites by default, users can use filters to remove them. +profile = deqp.make_profile( # pylint: disable=invalid-name +itertools.chain( +deqp.iter_deqp_test_cases( +deqp.gen_caselist_txt(_KHR_BIN, 'KHR-GL30-cases.txt', _EXTRA_AR