[Piglit] [PATCH 00/44] Port framework to run on both python 2.7 and 3.3+

Jose Fonseca jfonseca at vmware.com
Tue Feb 2 05:47:43 PST 2016

I tried getting your branch to build with Python 3 on Windows and was 

I'm quoting below the process I used for others' reference (I can update 
the build instructions when your series is merged.)

I also ran sanity testlist without problems.

So all looks good here.

I also like the stratergy of allowing simultaneous Python 2/3 usage via 
six, for a transitory period.  It's hard to migrate all the code 
simultanouesly, and it's hard to get all stakeholders ready to 
transition their systems simultanouesly.  Suporting Python 2/3 for 
sometime allows the migration to happen piece wise.

I'm thinking of taking this approach for other projects I'm involved 
(e.g., apitrace.)


- download 32bits python 3.5.1 from 

   - I installed mine into C:\Python35

   - when installing I unticked 'associate python files' and 'add 
binaryies to PATH' to avoid interfering with my Python 2 installation

   (Thought per https://docs.python.org/3/using/windows.html#launcher it 
looks like there's already a better way to control these things via the 
Python Windows Launcher, but I didn't want to risk it at this moment.)

- Override Path

   set Path=C:\Python35;%Path%

- Upgrade pip

   python.exe -m pip install --upgrade pip

- Install mako

   python.exe -m pip install --egg Mako

- Install Numpy

   python.exe -m pip install 

- Build piglit as usual

On 02/02/16 02:09, Dylan Baker wrote:
> You're right, on python 3.3 and 3.5 it works, but not on python 2.7.
> I'll have a look at it in the morning and see if I can get it sorted.
> Dylan
> Quoting Jose Fonseca (2016-02-01 15:35:25)
>> Dylan,
>> I tried to build your branch.  With Python 2.7 for starters (just for
>> conveniency, then my plan was to build with Python 3.)
>> But I get this failure, both on Windows and Linux:
>> [21/3075] Generating tests/util/piglit-dispatch-gen.c,
>> tests/util/piglit-dispatch-gen.h, tests/util/piglit-util-gl-enum-gen.c
>> FAILED: cd /home/jfonseca/work/vmware/tests/piglit/build/lin64 &&
>> /usr/bin/python2.7
>> /home/jfonseca/work/vmware/tests/piglit/tests/util/gen_dispatch.py
>> --out-dir /home/jfonseca/work/vmware/tests/piglit/build/lin64/tests/util
>> Traceback (most recent call last):
>>     File
>> "/home/jfonseca/work/vmware/tests/piglit/tests/util/gen_dispatch.py",
>> line 195, in <module>
>>       main()
>>     File
>> "/home/jfonseca/work/vmware/tests/piglit/tests/util/gen_dispatch.py",
>> line 68, in main
>>       gl_registry = registry.gl.parse()
>>     File
>> "/home/jfonseca/work/vmware/tests/piglit/tests/util/../../registry/gl.py",
>> line 62, in parse
>>       return Registry(xml_registry)
>>     File
>> "/home/jfonseca/work/vmware/tests/piglit/tests/util/../../registry/gl.py",
>> line 363, in __init__
>>       self.commands.add(command)
>>     File
>> "/home/jfonseca/work/vmware/tests/piglit/tests/util/../../registry/gl.py",
>> line 220, in add
>>       key = self.__key_func(value)
>> TypeError: 'unicode' object is not callable
>> Jose

More information about the Piglit mailing list