[Piglit] [PATCH 5/6] framework: observe PIGLIT_NO_FAST_SKIP in ShaderTest::__init__()

Brian Paul brianp at vmware.com
Fri Oct 13 04:23:09 UTC 2017


If PIGLIT_NO_FAST_SKIP is defined, the FastSkip/FastSkipMixin classes
are no-ops.  Therefore, the GL/GLSL version info collected in
ShaderTest::__init()__ isn't used.  Skipping the shader test parsing
is a big win for reducing start-up time on Windows.  There's not much
difference either way on Linux.
---
 framework/test/shader_test.py | 30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

diff --git a/framework/test/shader_test.py b/framework/test/shader_test.py
index 7f3d876..a3fb8e2 100644
--- a/framework/test/shader_test.py
+++ b/framework/test/shader_test.py
@@ -155,17 +155,25 @@ class ShaderTest(FastSkipMixin, PiglitBaseTest):
     """
 
     def __init__(self, filename):
-        parser = Parser(filename)
-        parser.parse()
-
-        super(ShaderTest, self).__init__(
-            [parser.prog, parser.filename],
-            run_concurrent=True,
-            gl_required=parser.gl_required,
-            gl_version=parser.gl_version,
-            gles_version=parser.gles_version,
-            glsl_version=parser.glsl_version,
-            glsl_es_version=parser.glsl_es_version)
+        if bool(os.environ.get('PIGLIT_NO_FAST_SKIP', False)):
+            # No need to parse the shader test file if we've disabled
+            # the FastSkip feature.
+            super(ShaderTest, self).__init__(
+                ['shader_runner', filename],
+                run_concurrent=True,)
+        else:
+            parser = Parser(filename)
+            parser.parse()
+
+            super(ShaderTest, self).__init__(
+                [parser.prog, parser.filename],
+                run_concurrent=True,
+                gl_required=parser.gl_required,
+                gl_version=parser.gl_version,
+                gles_version=parser.gles_version,
+                glsl_version=parser.glsl_version,
+                glsl_es_version=parser.glsl_es_version)
+
 
     @PiglitBaseTest.command.getter
     def command(self):
-- 
1.9.1



More information about the Piglit mailing list