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

Brian Paul brianp at vmware.com
Mon Oct 23 17:37:39 UTC 2017


On 10/18/2017 06:41 PM, Dylan Baker wrote:
> Quoting Brian Paul (2017-10-12 21:23:09)
>> 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
>>
>> _______________________________________________
>> Piglit mailing list
>> Piglit at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/piglit
>
> Does it make more sense to just put this logic in the parser and have it return
> an object of Nones immediatly if PIGLIT_NO_FAST_SKIP is set?

I don't think it matters.  Your call.

If it's OK as is, R-b?

-Brian



More information about the Piglit mailing list