[Piglit] [PATCH] framework: fix duplicated TEST_BIN_DIR for cygwin
Brian Paul
brianp at vmware.com
Wed Jul 16 09:58:08 PDT 2014
The GLSLParserTest and ShaderTest subclasses of the PiglitTest class
were prepending the TEST_BIN_DIR variable onto the executable name
(such as "glslparsertest" and "shader_runner"). But the PiglitTest
class itself also does that so we were prepending TEST_BIN_DIR twice.
With unix paths, os.path.join("/abs/path1", "/abs/path2") returns
"/abs/path2".
But with cygwin, os.path.join("C:\\abspath1", "C:\\abspath2") returns
"C:\\abspath1/C:\\abspath2" which clearly causes trouble.
The solution is to only prepend the TEST_BIN_DIR path in the PiglitTest
class.
This issue was only encountered when the PIGLIT_BUILD_DIR env var was set,
which I just recently tried for the first time.
v2: don't change GleanTest, it's a subclass of Test, not PiglitTest.
---
framework/glsl_parser_test.py | 4 ++--
framework/shader_test.py | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/framework/glsl_parser_test.py b/framework/glsl_parser_test.py
index 27fd2ca..202ea5b 100644
--- a/framework/glsl_parser_test.py
+++ b/framework/glsl_parser_test.py
@@ -27,7 +27,7 @@ import os.path as path
import re
from cStringIO import StringIO
-from .exectest import PiglitTest, TEST_BIN_DIR
+from .exectest import PiglitTest
def add_glsl_parser_test(group, filepath, test_name):
@@ -146,7 +146,7 @@ class GLSLParserTest(PiglitTest):
"from config".format(opt))
# Create the command and pass it into a PiglitTest()
- command = [path.join(TEST_BIN_DIR, 'glslparsertest'),
+ command = ['glslparsertest',
filepath,
config.get('config', 'expect_result'),
config.get('config', 'glsl_version')]
diff --git a/framework/shader_test.py b/framework/shader_test.py
index 0083072..6cfd86a 100644
--- a/framework/shader_test.py
+++ b/framework/shader_test.py
@@ -27,7 +27,7 @@ import os
import os.path as path
import re
-from .exectest import PiglitTest, TEST_BIN_DIR
+from .exectest import PiglitTest
__all__ = ['add_shader_test', 'add_shader_test_dir']
@@ -65,9 +65,9 @@ class ShaderTest(PiglitTest):
line = line.strip()
if line.startswith('GL ES'):
if line.endswith('3.0'):
- prog = path.join(TEST_BIN_DIR, 'shader_runner_gles3')
+ prog = 'shader_runner_gles3'
elif line.endswith('2.0'):
- prog = path.join(TEST_BIN_DIR, 'shader_runner_gles2')
+ prog = 'shader_runner_gles2'
# If we don't set gles2 or gles3 continue the loop,
# probably htting the exception in the for/else
else:
@@ -77,7 +77,7 @@ class ShaderTest(PiglitTest):
# In the event that we reach the end of the config black
# and an API hasn't been found, it's an old test and uses
# "GL"
- prog = path.join(TEST_BIN_DIR, 'shader_runner')
+ prog = 'shader_runner'
break
else:
raise ShaderTestParserException("No GL version set")
--
1.7.10.4
More information about the Piglit
mailing list