[Scons-dev] Python 3 issue

Bill Deegan bill at baddogconsulting.com
Wed Jun 28 22:34:15 EDT 2017


You can ignore actiontest failures for now. I found an issue with py3 and
the python action signiture.

Why would you need to use virtualenv to test?

I'm just running macports pythons, or on linux vanilla builds from source,
or on windows " py -3.6  or py -3.5"


On Wed, Jun 28, 2017 at 6:11 PM, RW <garlicbready at googlemail.com> wrote:

> Okay it looks like the change I've made is impacting a couple of tests
>
> the first one is
> src/engine/SCons/ActionTests.py
>
> after calling the following line
> ```
> c = SCons.Action._object_contents(o)
> ```
>
> the result is compared against a hard coded string
> ```
> AssertionError: Got
> b'ccopy_reg\n_reconstructor\nq\x00(c__main__\nTestClass\
> nq\x01c__builtin__\nobject\nq\x02Ntq\x03Rq\x04}q\x05(X\x01\
> x00\x00\x00aq\x06h\x06X\x01\x00\x00\x00bq\x07h\x07ub.'
> Expected one of
> b'ccopy_reg\n_reconstructor\nq\x00(c__main__\nTestClass\
> nq\x01c__builtin__\nobject\nq\x02Ntq\x03Rq\x04}q\x05(X\x01\
> x00\x00\x00bq\x06h\x06X\x01\x00\x00\x00aq\x07h\x07ub.'
> ```
> perhaps this hard coded string needs to be changed to match
>
> Next is
> test/Parallel/failed-build.py
> not sure if this is a thread related fault, since when I run the test
> individually it works fine
>
> There's also 4 others I need to look at, which seem to be failing before
> any changes on this setup
>   src/engine/SCons/Node/FSTests.py
>   test/Errors/permission-denied.py
>   test/Install/Install.py
>   test/VariantDir/errors.py
>
>
> On 29 June 2017 at 01:38, RW <garlicbready at googlemail.com> wrote:
>
>> It looks like part of the problem was that I wasn't using a virtual
>> environment
>> there are however still some errors (about 4 this time)
>>
>> I've captured the stdout / stderr this time around with a command like
>> python runtest.py -a -o test_py3_linux_unpatched.log
>> >>test_py3_linux_unpatched.out 2>&1
>>
>> I've attached some updated logs with the stdout / stderr
>> I should mention I'm using a VM via VMWare which has the latest Ubutunu
>> Mate installed
>> I don't think my patch has had an impact on the tests, these seem to be
>> failing regardless of the python version or the changes I've made (logs
>> seem to be the same)
>>
>> Many Thanks
>> Richard
>>
>>
>> On 28 June 2017 at 20:50, Bill Deegan <bill at baddogconsulting.com> wrote:
>>
>>> The logs don't include stderr, so can't see failures.
>>> Here's the py3 patched linux log failures:
>>>
>>> Failed the following 7 tests:
>>>         src/engine/SCons/ActionTests.py
>>>         src/engine/SCons/Node/FSTests.py
>>>         test/Docbook/basic/xinclude/xinclude.py
>>>         test/Docbook/dependencies/xinclude/xinclude.py
>>>         test/Errors/permission-denied.py
>>>         test/Install/Install.py
>>>         test/VariantDir/errors.py
>>>
>>>
>>> They're all passing on linux in buildbot..
>>> http://buildbot.scons.org/#/builders/10/builds/21
>>>
>>> Can you take a look at those failures?
>>>
>>> Thanks,
>>> Bill
>>>
>>> On Wed, Jun 28, 2017 at 11:37 AM, RW via Scons-dev <scons-dev at scons.org>
>>> wrote:
>>>
>>>> Hi,
>>>> I've attached the test logs from before and after the pull request
>>>>
>>>> Many Thanks
>>>> Richard
>>>>
>>>> On 27 June 2017 at 23:55, RW <garlicbready at googlemail.com> wrote:
>>>>
>>>>> Hi,
>>>>> I've just submitted a pull request to allow for relative imports under
>>>>> python 3 for tools.
>>>>> There's also a test included as well.
>>>>>
>>>>> https://bitbucket.org/scons/scons/pull-requests/486/added-su
>>>>> pport-for-relative-imports-within/diff
>>>>>
>>>>>
>>>>> On 26 June 2017 at 09:31, Russel Winder <russel at winder.org.uk> wrote:
>>>>>
>>>>>> On Fri, 2017-06-23 at 10:53 -0700, Bill Deegan wrote:
>>>>>> > This change:
>>>>>> > https://bitbucket.org/bdbaddog/scons-russel-example/commits/
>>>>>> 48899a710
>>>>>> > f9afbec891307addd6ae5b9c08d53c9?at=master
>>>>>> >
>>>>>> > Will make it work in py2 and py3.
>>>>>> >
>>>>>> > Any reason we can't live with that?
>>>>>>
>>>>>> On reflection that probably seems like what I should have written in
>>>>>> the first place!
>>>>>>
>>>>>> Python 3 uses absolute imports with the . and .. exceptions. The
>>>>>> absolute_import __future__ makes Python 2 behave the same to give
>>>>>> consistency. Of course this only works if the parent package is
>>>>>> imported. In this context that will always be the case, so it should
>>>>>> be
>>>>>> fine.
>>>>>>
>>>>>> I can definitely live with this as an idiom.
>>>>>>
>>>>>> I am now just embarrassed to have found this problem. :-)
>>>>>>
>>>>>> --
>>>>>> Russel.
>>>>>> ============================================================
>>>>>> =================
>>>>>> Dr Russel Winder      t: +44 20 7585 2200   voip:
>>>>>> sip:russel.winder at ekiga.net
>>>>>> 41 Buckmaster Road    m: +44 7770 465 077   xmpp:
>>>>>> russel at winder.org.uk
>>>>>> London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
>>>>>>
>>>>>> _______________________________________________
>>>>>> Scons-dev mailing list
>>>>>> Scons-dev at scons.org
>>>>>> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Scons-dev mailing list
>>>> Scons-dev at scons.org
>>>> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20170628/a73a5ccc/attachment-0001.html>


More information about the Scons-dev mailing list