[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


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.


    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.


    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


    robert> +            try:
    robert> +                from testtools import ThreadsafeForwardingResult

Can you summarize (informally) which versions/branches of
testtools and subunit are needed ?


    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.


    robert> +class BZRTransformingResult(unittest.TestResult):

Shouldn't that be based on a (yet-to-create)
subunit.ProtocolTestResult ?


    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 ?


More information about the bazaar mailing list