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