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

Re: Test failures on Windows

From: Greg Stein <gstein_at_gmail.com>
Date: Tue, 17 Mar 2009 00:40:11 +0100

Sorry for the failures, guys. I'm hoping we can get away from the old
busted up SVNTreeNode stuff and fully onto the State stuff. I started
the work 7 years ago, but ... euh ... it never got completed :-P
These recent changes are work to get us further along that path.

I'm gonna hop back to work some more on wc-ng, but if anybody is
interested in working on svntest, then let's chat. The changes that
I'd like to make are:

* move all the global config flags in main.py into a Config object,
which is then passed to the Sandbox objects and other relevant pieces
* shift tree comparison to the new State methods
* move the run_and_verify_* functions to Sandbox methods

I'll get back to svntest, but would be happy to work with anybody that
would like to contribute in the space.

Cheers,
-g

On Tue, Mar 17, 2009 at 00:31, Paul Burba <ptburba_at_gmail.com> wrote:
> On Fri, Mar 13, 2009 at 6:54 PM, Bert Huijben <rhuijben_at_sharpsvn.net> wrote:
>> Hi,
>>
>> The Windows buildbot has been down for the last few days, so I just send a
>> mail with the result of my local test to hopefully get some help in fixing
>> the test suite.
>>
>> The python test framework fails +- all tests until I replace line 442 of
>> wc.py.
>>
>> From:
>> desc[match.group(3)] = StateItem(verb=match.group(1))
>>
>> To:
>> desc[match.group(3).replace(os.sep,'/')] = StateItem(verb=match.group(1))
>>
>> (This line was added in r36474 as part of a test framework cleanup).
>>
>> Without this fix it can't find nodes in the tree representations.
>>
>>
>> Greg, can you look at how you like this fix integrated?
>>
>> Some of the other methods here might need a similar fix even though they
>> don't fail in the tests.
>>
>>
>> Then I get a failure in update_tests.py 32: update wc on the root of a
>> Windows (virtual) drive
>> UNEXPECTED EXCEPTION:
>> Traceback (most recent call last):
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\main.py", line
>> 1113, in run
>>    rc = self.pred.run(sandbox)
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\testcase.py", line
>> 114, in run
>>    return self.func(sandbox)
>>  File "G:\svn-2008\dev\subversion/tests/cmdline/update_tests.py", line
>> 2200, in update_wc_on_windows_drive
>>    '-r', '1', wc_dir)
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\actions.py", line
>> 692, in run_and_verify_update
>>    check_props)
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\actions.py", line
>> 611, in verify_update
>>    actual_disk = tree.build_tree_from_wc(wc_dir_name, check_props)
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\tree.py", line 797,
>> in build_tree_from_wc
>>    return svntest.wc.State.from_wc(wc_path, load_props,
>> ignore_svn).old_tree()
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\wc.py", line 483,
>> in from_wc
>>    os.path.walk(path, _walker, None)
>>  File "C:\DevTools\ActiveState\Python26\Lib\ntpath.py", line 262, in walk
>>    walk(name, func, arg)
>>  File "C:\DevTools\ActiveState\Python26\Lib\ntpath.py", line 258, in walk
>>    func(arg, top, names)
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\wc.py", line 470,
>> in _walker
>>    parent = path_to_key(dirname)
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\wc.py", line 466,
>> in path_to_key
>>    "'%s' is not a prefix of '%s'" % (path + os.sep, p)
>> AssertionError: 'H:/\' is not a prefix of 'H:/A'
>>
>> This also seems to be part of the test suite update; this test runs some
>> commands on the drive root "H:/" which is a valid path following the dirent
>> rules, but not following our old path rules.
>>
>>
>> Then FAIL:  diff_tests.py 51: test svnpatch format in various ways
>> EXPECTED DECODED SVNPATCH:
>> ( open-root ( 2:d0 ) ) ( open-dir ( 1:A 2:d0 2:d1 ) ) ( open-dir ( 3:A/B
>> 2:d1 2:d2 ) ) ( open-dir ( 5:A/B/E 2:d2 2:d3 ) ) ( open-file (
>> 11:A/B/E/alpha 2:d3 2:c4 ) ) ( change-file-prop ( 2:c4 7:newprop ( 7:new val
>> ) ) ) ( close-file ( 2:c4 ( ) ) ) ( open-file ( 10:A/B/E/beta 2:d3 2:c5 ) )
>> ( change-file-prop ( 2:c5 5:aprop ( ) ) ) ( close-file ( 2:c5 ( ) ) ) (
>> close-dir ( 2:d3 ) ) ( delete-entry ( 10:A/B/lambda 2:d2 ) ) ( close-dir (
>> 2:d2 ) ) ( open-dir ( 3:A/D 2:d1 2:d6 ) ) ( open-dir ( 5:A/D/G 2:d6 2:d7 ) )
>> ( change-dir-prop ( 2:d7 7:dirprop ( 8:prop val ) ) ) ( close-dir ( 2:d7 ) )
>> ( delete-entry ( 5:A/D/H 2:d6 ) ) ( close-dir ( 2:d6 ) ) ( add-dir ( 3:A/T
>> 2:d1 2:d8 ( ) ) ) ( add-file ( 8:A/T/mumu 2:d8 2:c9 ( 4:A/mu ) ) ) (
>> close-file ( 2:c9 ( ) ) ) ( close-dir ( 2:d8 ) ) ( close-dir ( 2:d1 ) ) (
>> open-file ( 4:iota 2:d0 3:c10 ) ) ( change-file-prop ( 3:c10
>> 13:svn:mime-type ( 24:application/octet-stream ) ) ) ( apply-textdelta (
>> 3:c10 ( ) ) ) ( textdelta-chunk ( 3:c10 4:SVN  ) ) ( textdelta-chunk ( 3:c10
>> 5:
>>
>> This looks like an error parsing \r\n pairs on Windows
>>
>> And then I get a list of failures in the merge tests that trip the same
>> assertion as update_tests.py 32:
>> UNEXPECTED EXCEPTION:
>> Traceback (most recent call last):
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\main.py", line
>> 1113, in run
>>    rc = self.pred.run(sandbox)
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\testcase.py", line
>> 185, in run
>>    return self._delegate.run(sandbox)
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\testcase.py", line
>> 114, in run
>>    return self.func(sandbox)
>>  File "G:\svn-2008\dev\subversion/tests/cmdline/merge_tests.py", line 6542,
>> in update_loses_mergeinfo
>>    check_props=1)
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\actions.py", line
>> 788, in run_and_verify_merge
>>    b_baton, check_props, dry_run)
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\actions.py", line
>> 916, in run_and_verify_merge2
>>    check_props)
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\actions.py", line
>> 611, in verify_update
>>    actual_disk = tree.build_tree_from_wc(wc_dir_name, check_props)
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\tree.py", line 797,
>> in build_tree_from_wc
>>    return svntest.wc.State.from_wc(wc_path, load_props,
>> ignore_svn).old_tree()
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\wc.py", line 496,
>> in from_wc
>>    desc[path_to_key(node)].props = props
>>  File "G:\svn-2008\dev\subversion\tests\cmdline\svntest\wc.py", line 466,
>> in path_to_key
>>    "'%s' is not a prefix of '%s'" % (path + os.sep, p)
>> AssertionError: 'svn-test-work\working_copies\merge_tests-56/A/C\' is not a
>> prefix of 'svn-test-work\working_copies\merge_tests-56\A\C'
>> FAIL:  merge_tests.py 56: update does not merge mergeinfo
>>
>> So maybe this is a bigger issue?
>>
>> Thanks,
>>
>>        Bert
>
> I fixed the merge test failures in r36611.  I still get the following
> failures with [fsfs] x [ra_local]:
>
> FAIL:  update_tests.py 32: update wc on the root of a Windows (virtual) drive
> FAIL:  prop_tests.py 6: update with conflicting props
> FAIL:  diff_tests.py 51: test svnpatch format in various ways
>
> Paul
>

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1336110
Received on 2009-03-17 00:40:32 CET

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