Transport w/ extra tests

John A Meinel john at arbash-meinel.com
Mon Jul 18 22:16:35 BST 2005


Martin Pool wrote:
> On Mon, 2005-07-18 at 15:05 -0500, John A Meinel wrote:
>
>>On my branch of bzr which uses a Transport hierarchy to support multiple
>>protocols, I've added a test suite for people attempting to implement a
>>RW Transport. I've put the LocalTransport class through it.
>>
>>http://bzr.arbash-meinel.com/bzr-split-storage/
>
>
> Should I merge this in?
>

I would be happy to have you merge it. I think I've written enough tests
to show that it is stable. It just depends how much you trust it.
I would like it if you would test merge it. Ie, merge it in, and play
around with it for a while, just to make sure it works for the things
that you do.

I also started playing around with pipelining http access using
effbot.org.http_manager
But in my testing, it wasn't much faster (1m20 instead of 1m50).
I may not have been doing it correctly. I also had a problem because of
the "GzipConsumer" class. I think your Http server recognizes if a file
is already gzipped, and you would unzip it as you pulled it across. But
since a ImmutableStore (CompressedTextStore) expects things to be
GZip'd, it would get very confused.

And now, for whatever reason, my Mac decided that "%.3f" is not a valid
format (the 3 is not a valid format character). (I think I have system
corruption somewhere).

Anyway, I haven't committed the effbot.org stuff, so if you would like,
I would be happy to have you merge it in.
I am missing some of the latest patches that Abentley did, though I also
did some of them on my own, and so they may conflict. (Some of the
branch -r stuff).


>
>>Just as a brief reminder, my Transport work allows read/write access to
>>control directories. But not Working trees. Partially because we haven't
>>decided if we want to support remote working trees.
>>
>>And in testing, I found that
>>bzr branch -r 100 rsync://bazaar-ng.org::bazaar-ng/bzr/bzr.dev
>>takes only 30s to complete, while
>>bzr branch -r 100 http://bazaar-ng.org/bzr/bzr.dev
>>takes 1m51s
>>The non-Transport version of bzr also takes 1m50s to download over http.
>>Neither one of these is pipelined, but I believe pipelining my
>>HttpTransport should be fairly easy, since I already have the
>>"get_multi" function call. (Part of the improvements in my Transport
>>branch is to change most loops over files into a single large request,
>>and then looping)
>
>
> Well done.
>
>
>>PS> It would be nice if we had a way to have "bzr selftest" only run
>>certain tests. So that when you are doing some development, you can only
>>run the tests you care about, until you get them working, and then go
>>back and run everything.
>
>
> Yes, I agree.  It'd also be nice to have a way to skip tests -- I think
> by just raising a TestSkipped exception, which would be reported
> differently to a regular test failure.
>

I was actually thinking more along the lines of:

bzr selftest RsyncTransportTest

Which would skip all tests that did not match the string RsyncTransportTest.

That way you don't have to modify any tests, just change how you invoke
"bzr selftest".

John
=:->

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 253 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20050718/f6599e7d/attachment.pgp 


More information about the bazaar mailing list