[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: Johan Corveleyn <jcorvel_at_gmail.com>
Date: Sun, 3 May 2020 21:49:44 +0200

On Sun, May 3, 2020 at 6:23 PM Yasuhito FUTATSUKI <futatuki_at_poem.co.jp> wrote:
>
> On 2020/05/03 10:02, Johan Corveleyn wrote:
> > On Fri, May 1, 2020 at 7:46 PM Yasuhito FUTATSUKI <futatuki_at_poem.co.jp> wrote:
> >>
> >> On 2020/04/23 2:05, Yasuhito FUTATSUKI wrote:
> >>> On 2020/04/22 23:04, Johan Corveleyn wrote:
> >>>> On Wed, Apr 22, 2020 at 3:50 PM Yasuhito FUTATSUKI <futatuki_at_poem.co.jp> wrote:
> >>>
> >>>>> ... and what is worse, at least
> >>>>>
> >>>>>> FAIL: merge_tests.py 34: conflict markers should match the file's eol style
> >>>>>
> >>>>> this one seems to be broken even with Python 2.7, on Windows.
> >>>>> (I'll post about it later).
> >>>>
> >>>> That's strange. It does succeed on my system when running with Python
> >>>> 2.7.17. I had "All successful" test runs for [fsfs] x [ra_local,
> >>>> ra_serf, ra_svn].
> >>>
> >>> Yes, I don't doubt this test is passed on Windows with Python 2.7,
> >>> but I doubt this test does not check just what we want to check.
> >>>
> >>> As far as I read the description of the test and about KEEP_EOL_STYLE
> >>> option introduced in r1743445.
> >>>
> >>> merge_tests.py (merge_conflict_markers_matching_eol):
> >>> [[[
> >>> # eol-style handling during merge with conflicts, scenario 1:
> >>> # when a merge creates a conflict on a file, make sure the file and files
> >>> # r<left>, r<right> and .mine are in the eol-style defined for that file.
> >>> ]]]
> >>>
> >>> So I think comparion of expected and actual should be done without
> >>> eol-style translation. However it try to check with translation on
> >>> Windows environment.
> >>
> >> It seems following tests are EOL style sensitive, but they didn't
> >> check without strict EOL style on Windows:
> >>
> >> merge_tests.merge_conflict_markers_matching_eol
> >> merge_tests.merge_eolstyle_handling
> >> patch_tests.patch_no_svn_eol_style
> >> patch_tests.patch_with_svn_eol_style
> >> patch_tests.patch_with_svn_eol_style_uncommitted
> >> update_tests.conflict_markers_matching_eol
> >> update_tests.update_eol_style_handling
> >>
> >> I've not check that each tests depend that native EOL is '\n' or not.
> >> However, I think if some tests depend on it, other test cases for
> >> those aims are needed on Windows, or at least explicitly skip the tests
> >> on Windows to clarify that those tests check nothing for the aims.
> >>
> >> The updated patch attached only make these tests EOL style sensitive
> >> (and relax check of EOL on Python 2 if keep_eol_style optional
> >> parameter is not specified).
> >
> > Thank you for continuing to work on this, Yasuhito.
> >
> > This patch indeed fixes the above 7 tests when running with Python 3 on Windows.
> > However, when running with Python 2 there are now 6 tests that fail
> > (without this patch, all tests are successful with Py2):
>
> Thank you for testing.
>
> As far as this test result, those test cases don't depend on specific
> native EOL.
>
> > FAIL: merge_tests.py 34: conflict markers should match the file's eol style
> > FAIL: patch_tests.py 13: patch target with no svn:eol-style
> > FAIL: patch_tests.py 14: patch target with svn:eol-style
> > FAIL: patch_tests.py 15: patch target with uncommitted svn:eol-style
> > FAIL: patch_tests.py 57: patch a binary file
> > FAIL: update_tests.py 26: conflict markers should match the file's eol style
> >
> > See fails.log in attachment.
>
> I overlooked that result of io.TextIO.read() is unicode on Python 2.
> I hope updated patch may resolve this issue.

Okay, that latest version fixes this test for Python 2:

patch_tests.py 57: patch a binary file

But the five other failures still remain for Py2:

FAIL: merge_tests.py 34: conflict markers should match the file's eol style
FAIL: patch_tests.py 13: patch target with no svn:eol-style
FAIL: patch_tests.py 14: patch target with svn:eol-style
FAIL: patch_tests.py 15: patch target with uncommitted svn:eol-style
FAIL: update_tests.py 26: conflict markers should match the file's eol style

See fails_py2.log in attachment.

For Python 3 we're getting close. After this patch and the one for
svnrdump_tests, we only have 2 failures left with Python 3:

FAIL: svnadmin_tests.py 35: detect denormalized names and name collisions
FAIL: svndumpfilter_tests.py 7: svndumpfilter with an empty prefix

See fails_py3.log in attachment.

-- 
Johan


Received on 2020-05-03 21:50:11 CEST

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