summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2018-04-03 10:36:41 -0700
committerDylan Baker <dylan@pnwbakers.com>2018-05-01 14:31:25 -0700
commit8786e15481e658a91c99a5bb7c3b81f239bb7a96 (patch)
tree4768050cef5c9c51c6ee23421c8985baeb0b4679
parent1be0b641b4dcc5f7c8922efd288aee86fa595856 (diff)
tests/glsl_parser_test.py: fix is_skip for serialized profiles
Currently is_skip() relies on runtime detection of which glslparsertest binaries are built, but we can't assume that at build time. Instead always assign the appropriate binary, and then check for the existence of that binary at run time. Tested-by: Rafael Antognolli <rafael.antognolli@intel.com>
-rw-r--r--framework/test/glsl_parser_test.py20
-rw-r--r--unittests/framework/test/test_glsl_parser_test.py13
2 files changed, 16 insertions, 17 deletions
diff --git a/framework/test/glsl_parser_test.py b/framework/test/glsl_parser_test.py
index 35eadfe4b..88646c97f 100644
--- a/framework/test/glsl_parser_test.py
+++ b/framework/test/glsl_parser_test.py
@@ -122,7 +122,7 @@ class Parser(object):
# If GLES is requested, but piglit was not built with a gles version,
# then ARB_ES3<ver>_compatibility is required. Add it to
# self.gl_required
- if self.glsl_es_version and not _HAS_GLES_BIN:
+ if self.glsl_es_version and _FORCE_DESKTOP_VERSION:
if self.glsl_es_version == 1.0:
ver = '2'
elif self.glsl_es_version == 3.0:
@@ -148,14 +148,10 @@ class Parser(object):
then the test will be skipped in the python layer.
"""
- if (_is_gles_version(version)
- and _HAS_GLES_BIN
- and not _FORCE_DESKTOP_VERSION):
+ if _is_gles_version(version) and not _FORCE_DESKTOP_VERSION:
return 'glslparsertest_gles2'
- elif _HAS_GL_BIN:
- return 'glslparsertest'
else:
- return 'None'
+ return 'glslparsertest'
def get_command(self, filepath):
""" Create the command argument to pass to super()
@@ -295,8 +291,12 @@ class GLSLParserTest(FastSkipMixin, PiglitBaseTest):
glsl_es_version=parsed.glsl_es_version)
def is_skip(self):
- if os.path.basename(self.command[0]) == 'None':
- raise TestIsSkip('Test is for desktop OpenGL, '
- 'but only an OpenGL ES binary has been built')
+ if os.path.basename(self.command[0]) == 'glslparsertest' and not _HAS_GL_BIN:
+ raise TestIsSkip('Test is for desktop OpenGL, but piglit was not '
+ 'built with OpenGL support.')
+ elif (os.path.basename(self.command[0]) == 'glslparsertest_gles2'
+ and not _HAS_GLES_BIN):
+ raise TestIsSkip('Test is for OpenGL ES, but piglit was not '
+ 'built with OpenGL ES support.')
super(GLSLParserTest, self).is_skip()
diff --git a/unittests/framework/test/test_glsl_parser_test.py b/unittests/framework/test/test_glsl_parser_test.py
index b396fea9b..bf217b186 100644
--- a/unittests/framework/test/test_glsl_parser_test.py
+++ b/unittests/framework/test/test_glsl_parser_test.py
@@ -339,22 +339,21 @@ def test_valid_extensions(ext, tmpdir):
@pytest.mark.parametrize(
- "version,has_bin,forced",
+ "version,forced",
itertools.product(
['1.00', '3.00', '3.10', '3.20', '3.00 es', '3.10 es', '3.20 es'],
- [True, False], [True, False]))
-def test_get_glslparsertest_gles2(version, has_bin, forced, tmpdir, mocker):
+ [True, False]))
+def test_get_glslparsertest_gles2(version, forced, tmpdir, mocker):
"""Tests for assigning the correct binary for GLES tests.
Tests with and without the gles binary and with and without the force
desktop mode.
"""
- if not has_bin or forced:
+ if forced:
expected = 'glslparsertest'
else:
expected = 'glslparsertest_gles2'
- mocker.patch('framework.test.glsl_parser_test._HAS_GLES_BIN', has_bin)
mocker.patch('framework.test.glsl_parser_test._FORCE_DESKTOP_VERSION',
forced)
@@ -436,7 +435,7 @@ def test_add_compatibility_requirement_fastskip(version, extension, tmpdir,
This test checks the fast skipping variable
"""
- mocker.patch('framework.test.glsl_parser_test._HAS_GLES_BIN', False)
+ mocker.patch('framework.test.glsl_parser_test._FORCE_DESKTOP_VERSION', True)
p = tmpdir.join('test.frag')
p.write(textwrap.dedent("""\
@@ -466,7 +465,7 @@ def test_add_compatibility_requirement_binary(version, extension, tmpdir,
This test checks the glslparsertest binary command line.
"""
- mocker.patch('framework.test.glsl_parser_test._HAS_GLES_BIN', False)
+ mocker.patch('framework.test.glsl_parser_test._FORCE_DESKTOP_VERSION', True)
p = tmpdir.join('test.frag')
p.write(textwrap.dedent("""\