[Piglit] [PATCH v2] tests: Add integration with Khronos CTS OpenGL runner
Dylan Baker
dylan at pnwbakers.com
Fri May 20 16:37:07 UTC 2016
Quoting Juan A. Suarez Romero (2016-05-20 07:58:13)
> This adds support for running Khronos' deqp-based conformance suite for
> OpenGL with piglit.
>
> This commits renames PIGLIT_CTS_BIN / PIGLIT_CTS_EXTRA_ARGS envvars to
> PIGLIT_CTS_GLES_BIN / PIGLIT_CTS_GLES_EXTRA_ARGS respectively.
>
> v2 (Dylan Baker):
> - Use cts_gles and cts_gl
> - Rename PIGLIT_CTS_foo to PIGLIT_CTS_GLES_foo
> ---
> piglit.conf.example | 18 ++++++++++++++----
> tests/{cts.py => cts_gl.py} | 43 ++++++++++++++++++++++++++-----------------
> tests/{cts.py => cts_gles.py} | 14 +++++++-------
> 3 files changed, 47 insertions(+), 28 deletions(-)
> copy tests/{cts.py => cts_gl.py} (56%)
> rename tests/{cts.py => cts_gles.py} (84%)
>
> diff --git a/piglit.conf.example b/piglit.conf.example
> index 944d5d9..b95ff89 100644
> --- a/piglit.conf.example
> +++ b/piglit.conf.example
> @@ -85,13 +85,23 @@ testB
> ; overrides the value set here.
> ;extra_args=--deqp-visibility hidden
>
> -[cts]
> -; path to the cts executable
> -; can be overwritten by PIGLIT_CTS_BIN environment variable
> +[cts_gles]
> +; path to the cts opengles executable
> +; can be overwritten by PIGLIT_CTS_GLES_BIN environment variable
> ;bin=/home/knuth/cts/cts/glcts
>
> ; Space-separated list of extra command line arguments for cts. The
> -; option is not required. The environment variable PIGLIT_CTS_EXTRA_ARGS
> +; option is not required. The environment variable PIGLIT_CTS_GLES_EXTRA_ARGS
> +; overrides the value set here.
> +;extra_args=--deqp-visibility hidden
> +
> +[cts_gl]
> +; path to the cts opengl executable
> +; can be overwritten by PIGLIT_CTS_GL_BIN environment variable
> +;bin=/home/knuth/cts/cts/glcts
> +
> +; Space-separated list of extra command line arguments for cts. The
> +; option is not required. The environment variable PIGLIT_CTS_GL_EXTRA_ARGS
> ; overrides the value set here.
> ;extra_args=--deqp-visibility hidden
>
> diff --git a/tests/cts.py b/tests/cts_gl.py
> similarity index 56%
> copy from tests/cts.py
> copy to tests/cts_gl.py
> index 0e64e1b..caefa1a 100644
> --- a/tests/cts.py
> +++ b/tests/cts_gl.py
> @@ -20,25 +20,24 @@
>
> """Piglit integration for Khronos CTS tests.
>
> -By default this will run GLES2, GLES3, GLES31, and GLESEXT test cases. Those
> -desiring to run only a subset of them should consider using the -t or -x
> -options to include or exclude tests.
> +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 cts -c foo -t ES3- would run only ES3 tests (note the dash to
> -exclude ES31 tests)
> +./piglit run cts_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:
> -[cts]:bin -- Path to the glcts binary
> -[cts]:extra_args -- any extra arguments to be passed to cts (optional)
> +[cts_gl]:bin -- Path to the glcts binary
> +[cts_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_CTS_BIN -- environment equivalent of [cts]:bin
> -PIGLIT_CTS_EXTRA_ARGS -- environment equivalent of [cts]:extra_args
> +PIGLIT_CTS_GL_BIN -- environment equivalent of [cts_gl]:bin
> +PIGLIT_CTS_GL_EXTRA_ARGS -- environment equivalent of [cts_gl]:extra_args
>
> """
>
> @@ -51,9 +50,9 @@ from framework.test import deqp
>
> __all__ = ['profile']
>
> -_CTS_BIN = deqp.get_option('PIGLIT_CTS_BIN', ('cts', 'bin'))
> +_CTS_BIN = deqp.get_option('PIGLIT_CTS_GL_BIN', ('cts_gl', 'bin'))
>
> -_EXTRA_ARGS = deqp.get_option('PIGLIT_CTS_EXTRA_ARGS', ('cts', 'extra_args'),
> +_EXTRA_ARGS = deqp.get_option('PIGLIT_CTS_GL_EXTRA_ARGS', ('cts_gl', 'extra_args'),
> default='').split()
>
>
> @@ -65,18 +64,28 @@ class DEQPCTSTest(deqp.DEQPBaseTest):
> return super(DEQPCTSTest, 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(_CTS_BIN, 'ES2-CTS-cases.txt', _EXTRA_ARGS)),
> + deqp.gen_caselist_txt(_CTS_BIN, 'GL30-CTS-cases.txt', _EXTRA_ARGS)),
> + deqp.iter_deqp_test_cases(
> + deqp.gen_caselist_txt(_CTS_BIN, 'GL31-CTS-cases.txt', _EXTRA_ARGS)),
> + deqp.iter_deqp_test_cases(
> + deqp.gen_caselist_txt(_CTS_BIN, 'GL32-CTS-cases.txt', _EXTRA_ARGS)),
> + deqp.iter_deqp_test_cases(
> + deqp.gen_caselist_txt(_CTS_BIN, 'GL33-CTS-cases.txt', _EXTRA_ARGS)),
> + deqp.iter_deqp_test_cases(
> + deqp.gen_caselist_txt(_CTS_BIN, 'GL40-CTS-cases.txt', _EXTRA_ARGS)),
> + deqp.iter_deqp_test_cases(
> + deqp.gen_caselist_txt(_CTS_BIN, 'GL41-CTS-cases.txt', _EXTRA_ARGS)),
> + deqp.iter_deqp_test_cases(
> + deqp.gen_caselist_txt(_CTS_BIN, 'GL42-CTS-cases.txt', _EXTRA_ARGS)),
> deqp.iter_deqp_test_cases(
> - deqp.gen_caselist_txt(_CTS_BIN, 'ES3-CTS-cases.txt', _EXTRA_ARGS)),
> + deqp.gen_caselist_txt(_CTS_BIN, 'GL43-CTS-cases.txt', _EXTRA_ARGS)),
> deqp.iter_deqp_test_cases(
> - deqp.gen_caselist_txt(_CTS_BIN, 'ES31-CTS-cases.txt', _EXTRA_ARGS)),
> + deqp.gen_caselist_txt(_CTS_BIN, 'GL44-CTS-cases.txt', _EXTRA_ARGS)),
> deqp.iter_deqp_test_cases(
> - deqp.gen_caselist_txt(_CTS_BIN, 'ESEXT-CTS-cases.txt',
> - _EXTRA_ARGS)),
> + deqp.gen_caselist_txt(_CTS_BIN, 'GL45-CTS-cases.txt', _EXTRA_ARGS)),
> ),
> DEQPCTSTest)
> diff --git a/tests/cts.py b/tests/cts_gles.py
> similarity index 84%
> rename from tests/cts.py
> rename to tests/cts_gles.py
> index 0e64e1b..983c694 100644
> --- a/tests/cts.py
> +++ b/tests/cts_gles.py
> @@ -25,20 +25,20 @@ 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 cts -c foo -t ES3- would run only ES3 tests (note the dash to
> +./piglit run cts_gles -c foo -t ES3- would run only ES3 tests (note the dash to
> exclude ES31 tests)
>
> This integration requires some configuration in piglit.conf, or the use of
> environment variables.
>
> In piglit.conf one should set the following:
> -[cts]:bin -- Path to the glcts binary
> -[cts]:extra_args -- any extra arguments to be passed to cts (optional)
> +[cts_gles]:bin -- Path to the glcts binary
> +[cts_gles]:extra_args -- any extra arguments to be passed to cts (optional)
>
> Alternatively (or in addition, since environment variables have precedence),
> one could set:
> -PIGLIT_CTS_BIN -- environment equivalent of [cts]:bin
> -PIGLIT_CTS_EXTRA_ARGS -- environment equivalent of [cts]:extra_args
> +PIGLIT_CTS_GLES_BIN -- environment equivalent of [cts_gles]:bin
> +PIGLIT_CTS_GLES_EXTRA_ARGS -- environment equivalent of [cts_gles]:extra_args
>
> """
>
> @@ -51,9 +51,9 @@ from framework.test import deqp
>
> __all__ = ['profile']
>
> -_CTS_BIN = deqp.get_option('PIGLIT_CTS_BIN', ('cts', 'bin'))
> +_CTS_BIN = deqp.get_option('PIGLIT_CTS_GLES_BIN', ('cts_gles', 'bin'))
>
> -_EXTRA_ARGS = deqp.get_option('PIGLIT_CTS_EXTRA_ARGS', ('cts', 'extra_args'),
> +_EXTRA_ARGS = deqp.get_option('PIGLIT_CTS_GLES_EXTRA_ARGS', ('cts_gles', 'extra_args'),
> default='').split()
>
>
> --
> 2.5.5
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit
LGTM
Reviewed-by: Dylan Baker <dylan at pnwbakers.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20160520/a82acfb2/attachment-0001.sig>
More information about the Piglit
mailing list