[MERGE] (correct one!) Create fork and reinvoke parallel testing support.
Vincent Ladeuil
v.ladeuil+lp at free.fr
Fri Mar 27 15:11:25 GMT 2009
BB:approve
The lack of tests from our test overlord is deceiving :-P
I will use it intensively from now on anyway so I'll add tests
if/when I can too.
<snip/>
robert> I'll obviously add a NEWS entry if the patch is
robert> acceptable, but I thought it was time to get it
robert> reviewed :).
robert> # Bazaar merge directive format 2 (Bazaar 0.90)
robert> # revision_id: robertc at robertcollins.net-20090327093143-\
robert> # gli7efprtwutx0p4
robert> # target_branch: http://bazaar-vcs.org/bzr/bzr.dev
robert> # testament_sha1: 16e3cf02ebe3343eebcd672069bcdbc39ec7cf71
robert> # timestamp: 2009-03-27 20:42:36 +1100
robert> # source_branch: http://people.ubuntu.com/~robertc/baz2.0/pending\
robert> # /tests.parallel
robert> # base_revision_id: robertc at robertcollins.net-20090326121545-\
robert> # t30g0qejzx7tknxl
robert> #
robert> # Begin patch
robert> === modified file 'bzrlib/builtins.py'
robert> --- bzrlib/builtins.py 2009-03-24 12:15:01 +0000
robert> +++ bzrlib/builtins.py 2009-03-27 09:31:43 +0000
robert> @@ -3155,6 +3155,11 @@
robert> ),
robert> Option('list-only',
robert> help='List the tests instead of running them.'),
robert> + RegistryOption('parallel',
robert> + help="Run the test suite in parallel",
robert> + lazy_registry=('bzrlib.tests', 'parallel_registry'),
robert> + value_switches=False,
robert> + ),
I'm not sure we can achieve subprocess(parallel) (run parallel on
the remote site) or parallel(subprocess) via a single option, but
the need may not be here yet.
<snip/>
robert> === modified file 'bzrlib/tests/__init__.py'
robert> --- bzrlib/tests/__init__.py 2009-03-26 12:15:45 +0000
robert> +++ bzrlib/tests/__init__.py 2009-03-27 09:31:43 +0000
<snip/>
robert> + try:
robert> + from testtools import ThreadsafeForwardingResult
Can you summarize (informally) which versions/branches of
testtools and subunit are needed ?
<snip/>
robert> + # Note that without subunit in core - epic FAIL. But we don't really
robert> + # care anyway because load-list means we don't get plugin tests.
I've never understood what you mean here ? --load-list doesn't
exclude plugin tests.
<snip/>
robert> +class BZRTransformingResult(unittest.TestResult):
Shouldn't that be based on a (yet-to-create)
subunit.ProtocolTestResult ?
<snip/>
robert> +
robert> + def _error_looks_like(self, prefix, err):
.. where this hack can be written a bit more cleanly on the
assumption that UnavailableFeature and KnownFailure can be built
from a string only and that the backtrace is only used in a
stringified way ?
Vincent
More information about the bazaar
mailing list