22
22
rather than in tests/workingtree_implementations/*.py.
25
import bzrlib.errors as errors
26
from bzrlib.transport import get_transport
27
from bzrlib.tests import (
31
from bzrlib.tests.bzrdir_implementations.test_bzrdir import TestCaseWithBzrDir
32
from bzrlib.workingtree import (WorkingTreeFormat,
30
from bzrlib.tests import bzrdir_implementations
37
33
def make_scenarios(transport_server, transport_readonly_server, formats):
38
"""Create a scenario for the specified converter
40
:param workingtree_format: The particular workingtree format to test.
41
:param bzrdir_format: The bzrdir format to test.
42
:return: a (name, options) tuple, where options is a dict of values
43
to be used as members of the TestCase.
46
35
for workingtree_format in formats:
47
36
result.append((workingtree_format.__class__.__name__,
48
make_scenario(transport_server, transport_readonly_server,
37
make_scenario(transport_server,
38
transport_readonly_server,
53
43
def make_scenario(transport_server, transport_readonly_server,
56
46
"transport_server": transport_server,
57
47
"transport_readonly_server": transport_readonly_server,
63
class TestCaseWithWorkingTree(TestCaseWithBzrDir):
53
class TestCaseWithWorkingTree(bzrdir_implementations.TestCaseWithBzrDir):
65
55
def make_branch_and_tree(self, relpath, format=None):
66
56
made_control = self.make_bzrdir(relpath, format=format)
114
104
scenarios = make_scenarios(
105
tests.default_transport,
116
106
# None here will cause a readonly decorator to be created
117
107
# by the TestCaseWithTransport.get_readonly_transport method.
119
WorkingTreeFormat._formats.values() + _legacy_formats)
109
workingtree.WorkingTreeFormat._formats.values()
110
+ workingtree._legacy_formats)
121
112
# add the tests for the sub modules
122
return multiply_tests(
113
return tests.multiply_tests(
123
114
loader.loadTestsFromModuleNames(test_workingtree_implementations),
124
115
scenarios, standard_tests)