On 19.04.2020 14:47, Johan Corveleyn wrote: > On Sun, Apr 19, 2020 at 10:49 AM Yasuhito FUTATSUKI <futat...@poem.co.jp> > wrote: >> On 2020/04/19 3:26, Johan Corveleyn wrote: >>> On Fri, Apr 17, 2020 at 11:21 PM Yasuhito FUTATSUKI <futat...@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