[RFC][PERFORMANCE][PYREX][TIRED OF THESE YET?] *fast* walkdirs.

Robert Collins robertc at robertcollins.net
Thu Jun 15 16:31:11 BST 2006


On Thu, 2006-06-15 at 09:42 -0500, John Arbash Meinel wrote:

> > 
> > Right.  A --debug-disable-C flag or something might theoretically be useful, but
> > is clearly a different use case than for --no-plugins.
> > 
> > -Andrew.
> 
> Yeah. I agree with you on version skew. I also agree that Robert's
> method is a little too 'magical'. And doesn't give you any way to
> disable it. I'm not sure if he does it for expediency as he does
> prototyping, or if it is his long-term plan.

A number of reasons.

The first one is the tension between casual user/developer tests and
PQM:
- When an end user without the C extensions runs 'bzr selftest', no
tests should fail. 
- When PQM runs the test suite via 'make check' the C extensions *must*
build and *must pass*.

The second one is return on effort: as long as the extensions load
reliably and get tested by PQM, my concerns about quality are covered.
Interface based testing avoids getting into the N-dimensions multiplier
of test runs - so interface testing is usually better. To do that here
and not break either of the first two cases I described, we need flags
to the test suite to say 'fail if the C extensions are not present' -
which is just glue code to no innate value. (Doing interface testing
with two different module names is a *trivial* problem).

Lastly... there is a much greater risk with the C extensions of having
something slip through interface tests, because we have quite a
different environment suddenly poking its head up. So I actually think
its *worth* running the whole test suite with and without the C
extensions. Most of the time I would not say that :).

That said, obviously whatever gets merged should work well, be easy to
install for a user, degrade gracefully, and also meet the quality
concerns above.

Right now, I think the Makefile approach I have is not polished - I have
not tested that 'Make install' degrades properly, for instance - so I
wouldn't merge it today anyway. But I think that the QC aspects are well
covered, and I'm not keen on writing largely valueless glue code simply
to avoid doing two runs of the test suite, when I actually want that in
this case.

If someone else wants to write it, sure, I'll give pointers etc.


As for disabling the extensions, I dont think there should be an option
- just like we dont have an option to disable Transports.


Rob



-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060616/cece56dd/attachment.pgp 


More information about the bazaar mailing list