win32: selftest result after merge John win32 fixes

Alexander Belchenko bialix at ukr.net
Wed Jul 5 21:32:13 BST 2006


John Arbash Meinel пишет:
> Alexander Belchenko wrote:
>> Alexander Belchenko пишет:
>>> It's very strange for me, but after merging John's work into mainline
>>> amount of failed tests increased (was 19, now 27). And during selftest
>>> there is error message on the screen:
...
>> False alarm. This is because of too long path names in tests (exceed 255
>> characters). When I run selftest in shortest possible directory (e.g.
>> E:\bzrtest) then it pass.
>>
>> Probably for standalone bzr.exe that installed by default into
>> "C:\Program Files\Bazaar-NG" this limitation also will cause some tests
>> to fail.
>>
>> Aaron, what you think, can we shorten test directories again a bit? I
>> remember you provide cut to 100 characters. May be it safely could cut
>> to 70-80 characters?
> 
> Well, there is always some level where it would fail.
> The specific line in question is 928 of bzrlib/tests/__init__.py
> 
> The included patch changes it to be only 50 characters.
> 
> I'm surprised we're running out of characters. You're only using about
> 30 in your path. I would have thought we would have more working room
> than that.

I keep output of failed test and inspect maximum length of path inside 
test directories. In failed test directory length of directory pathname 
  itself is 146 characters (including slashes and drive letter with 
colon). Maximal length of existing path inside this directory is 238 
characters (including slashes and drive letter with colon).

Experimentally I found that running selftest in directory with name like 
"E:\bzrtest.12\bzr.dev.revno.1841\" is short enough to make selftest 
pass. But one character more and selftest fails.

Well, now I know what length of path cause failing test. Fortunately 
"C:\Program Files\Bazaar-NG" is short enough to make selftest pass.

> I guess a revision id for us is typically 50 chars long, and file-ids
> vary a bit more, but are around 55 chars as well.
> 
> Right now, 'gen_file_id()' generates an id which is always ~34
> characters longer than the original filename. (14 timestamp, 16 random
> chars, 1-2 serial number)
> 
> And then if you have weird characters it adds a few more because of
> escaping. The other part of the patch changes how gen_file_id works, so
> that we don't create unboundedly long file ids. We'll still create long
> ones when converting from other SCMs, but at least we'll play nicer
> ourselves.
> 
> Can you try each one individually, and see if they both help?

First patch (that shorten temp test directory to 50 characters) helps 
me. Second patch does not help.

Well, I move my bzr development directories to E:\Bazaar-NG to reduce 
this sort of errors.

--
Alexander





More information about the bazaar mailing list