[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Problems running testsuite on Windows with Python 3

From: Branko ─îibej <brane_at_apache.org>
Date: Sun, 19 Apr 2020 15:53:03 +0200

On 19.04.2020 14:47, Johan Corveleyn wrote:
> On Sun, Apr 19, 2020 at 10:49 AM Yasuhito FUTATSUKI <futatuki_at_poem.co.jp> wrote:
>> On 2020/04/19 3:26, Johan Corveleyn wrote:
>>> On Fri, Apr 17, 2020 at 11:21 PM Yasuhito FUTATSUKI <futatuki_at_poem.co.jp> wrote:
>>>> On 2020/04/17 5:53, Johan Corveleyn wrote:
>>>>> Running the testsuite with Py 3.8.2 with PYTHONLEGACYWINDOWSSTDIO
>>>>> defined in the environment allows it to complete. It results in 68
>>>>> FAILS (for ra_local x fsfs). See attached fails.log.
>>>> I hope a part of the problems may fixed by attached patch, however,
>>>> I can't see why these test was passed in Python 2.7.
>>> Thanks! That fixes two of the tests. These two now pass after applying
>>> your patch (so feel free to commit -- I also checked again with Python
>>> 2.7 and still all tests successful):
>> Thank you for testing. I commited it in r1876707.
>> One more fix.
>>> FAIL: blame_tests.py 18: blame_youngest_to_oldest
>> The patch attached address to this one.
> Confirmed! Thanks :-).
> Would you also have an idea on how to fix the PYTHONLEGACYWINDOWSSTDIO issue?
> I mean: would it ever be possible to run the testsuite without
> defining that envvar? Or will that remain necessary?

Depending on how the testsuite is implemented, which I forget in detail,
it might be. The os.dup2() method allows child processes to inherit the
redirected standard handles. Reassigning os.stdout will not do that.
There might be a way to maintain the inheritance behaviour by creating
child processes differently.

So yeah ... this is a bit of serious nonsense from the Python devs.
Breaking decades' worth of legacy code is never a good idea.

-- Brane
Received on 2020-04-19 15:53:07 CEST

This is an archived mail posted to the Subversion Dev mailing list.