[Piglit] [PATCH] deqp-integration: Fix running deqp when extra_args not set
Dylan Baker
baker.dylan.c at gmail.com
Wed Jun 17 13:37:02 PDT 2015
When extra_args aren't set in piglit.conf and the envrionment variable
isn't set either, there is a bug that causes the deqp tests to not run.
This patch corrects that by providing a mechanism for setting an
appropriate fallback value.
Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
---
framework/test/deqp.py | 6 +++---
framework/tests/deqp_tests.py | 9 +++++++++
tests/deqp_gles2.py | 3 ++-
tests/deqp_gles3.py | 4 +++-
tests/deqp_gles31.py | 3 ++-
5 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/framework/test/deqp.py b/framework/test/deqp.py
index a63611d..843cde8 100644
--- a/framework/test/deqp.py
+++ b/framework/test/deqp.py
@@ -46,10 +46,10 @@ def make_profile(test_list, test_class):
return profile
-def get_option(env_varname, config_option):
+def get_option(env_varname, config_option, default=None):
"""Query the given environment variable and then piglit.conf for the option.
- Return None if the option is unset.
+ Return the value of the default argument if opt is None.
"""
opt = os.environ.get(env_varname, None)
@@ -58,7 +58,7 @@ def get_option(env_varname, config_option):
opt = core.PIGLIT_CONFIG.safe_get(config_option[0], config_option[1])
- return opt
+ return opt or default
def gen_caselist_txt(bin_, caselist):
diff --git a/framework/tests/deqp_tests.py b/framework/tests/deqp_tests.py
index d472c75..1225523 100644
--- a/framework/tests/deqp_tests.py
+++ b/framework/tests/deqp_tests.py
@@ -59,6 +59,15 @@ def test_get_option_conf():
@utils.set_env(_PIGLIT_TEST_ENV=None)
+def test_get_option_default():
+ """deqp.get_option: default value is returned when env and conf are unset
+ """
+ nt.eq_(deqp.get_option('_PIGLIT_TEST_ENV', ('deqp_test', 'test_env'),
+ 'foobar'),
+ 'foobar')
+
+
+ at utils.set_env(_PIGLIT_TEST_ENV=None)
def test_get_option_conf_no_section():
"""deqp.get_option: if a no_section error is raised and env is unset None is return
"""
diff --git a/tests/deqp_gles2.py b/tests/deqp_gles2.py
index 0b7fbd3..b97cb5d 100644
--- a/tests/deqp_gles2.py
+++ b/tests/deqp_gles2.py
@@ -33,7 +33,8 @@ _DEQP_GLES2_BIN = deqp.get_option('PIGLIT_DEQP_GLES2_BIN',
class DEQPGLES2Test(deqp.DEQPBaseTest):
deqp_bin = _DEQP_GLES2_BIN
extra_args = deqp.get_option('PIGLIT_DEQP_GLES2_EXTRA_ARGS',
- ('deqp-gles2', 'extra_args')).split() or []
+ ('deqp-gles2', 'extra_args'),
+ default='').split()
profile = deqp.make_profile( # pylint: disable=invalid-name
diff --git a/tests/deqp_gles3.py b/tests/deqp_gles3.py
index 574a5e5..dfb82c9 100644
--- a/tests/deqp_gles3.py
+++ b/tests/deqp_gles3.py
@@ -74,7 +74,9 @@ def filter_mustpass(caselist_path):
class DEQPGLES3Test(deqp.DEQPBaseTest):
deqp_bin = _DEQP_GLES3_EXE
extra_args = deqp.get_option('PIGLIT_DEQP_GLES3_EXTRA_ARGS',
- ('deqp-gles3', 'extra_args')).split() or []
+ ('deqp-gles3', 'extra_args'),
+ default='').split()
+
def __init__(self, *args, **kwargs):
super(DEQPGLES3Test, self).__init__(*args, **kwargs)
diff --git a/tests/deqp_gles31.py b/tests/deqp_gles31.py
index ba148f8..423c1bf 100644
--- a/tests/deqp_gles31.py
+++ b/tests/deqp_gles31.py
@@ -33,7 +33,8 @@ _DEQP_GLES31_BIN = deqp.get_option('PIGLIT_DEQP_GLES31_BIN',
class DEQPGLES31Test(deqp.DEQPBaseTest):
deqp_bin = _DEQP_GLES31_BIN
extra_args = deqp.get_option('PIGLIT_DEQP_GLES31_EXTRA_ARGS',
- ('deqp-gles31', 'extra_args')).split() or []
+ ('deqp-gles31', 'extra_args'),
+ default='').split()
profile = deqp.make_profile( # pylint: disable=invalid-name
--
2.4.3
More information about the Piglit
mailing list