~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/__init__.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-10-11 23:21:22 UTC
  • mfrom: (5462.3.21 597791-http-tests)
  • Revision ID: pqm@pqm.ubuntu.com-20101011232122-g2ejz5grpjes5brf
(mbp) cleanup test_http to use scenarios;
 add load_tests_from_scenarios (Martin Pool)

Show diffs side-by-side

added added

removed removed

Lines of Context:
3809
3809
        'bzrlib.tests.test_rio',
3810
3810
        'bzrlib.tests.test_rules',
3811
3811
        'bzrlib.tests.test_sampler',
 
3812
        'bzrlib.tests.test_scenarios',
3812
3813
        'bzrlib.tests.test_script',
3813
3814
        'bzrlib.tests.test_selftest',
3814
3815
        'bzrlib.tests.test_serializer',
3991
3992
    return suite
3992
3993
 
3993
3994
 
3994
 
def multiply_scenarios(scenarios_left, scenarios_right):
 
3995
def multiply_scenarios(*scenarios):
 
3996
    """Multiply two or more iterables of scenarios.
 
3997
 
 
3998
    It is safe to pass scenario generators or iterators.
 
3999
 
 
4000
    :returns: A list of compound scenarios: the cross-product of all 
 
4001
        scenarios, with the names concatenated and the parameters
 
4002
        merged together.
 
4003
    """
 
4004
    return reduce(_multiply_two_scenarios, map(list, scenarios))
 
4005
 
 
4006
 
 
4007
def _multiply_two_scenarios(scenarios_left, scenarios_right):
3995
4008
    """Multiply two sets of scenarios.
3996
4009
 
3997
4010
    :returns: the cartesian product of the two sets of scenarios, that is