71
73
mutable_trees_to_test_trees)
76
for (label, intertree_class,
75
77
workingtree_format,
76
78
workingtree_format_to,
77
79
mutable_trees_to_test_trees) in formats:
78
scenario = (intertree_class.__name__, {
79
81
"transport_server":self._transport_server,
80
82
"transport_readonly_server":self._transport_readonly_server,
81
83
"bzrdir_format":workingtree_format._matchingbzrdir,
92
94
result.append(scenario)
97
def mutable_trees_to_preview_trees(test_case, source, target):
98
preview = TransformPreview(target)
99
test_case.addCleanup(preview.finalize)
100
return source, preview.get_preview_tree()
96
102
def load_tests(basic_tests, module, loader):
97
103
result = loader.suiteClass()
105
111
test_intertree_permutations = [
106
112
# test InterTree with two default-format working trees.
107
(InterTree, default_tree_format, default_tree_format,
113
(InterTree.__name__, InterTree, default_tree_format, default_tree_format,
108
114
return_provided_trees)]
109
115
for optimiser in InterTree._optimisers:
110
test_intertree_permutations.append(
112
optimiser._matching_from_tree_format,
113
optimiser._matching_to_tree_format,
114
optimiser._test_mutable_trees_to_test_trees))
116
if optimiser is bzrlib.workingtree_4.InterDirStateTree:
117
# Its a little ugly to be conditional here, but less so than having
118
# the optimiser listed twice.
119
# Add once, compiled version
120
test_intertree_permutations.append(
121
(optimiser.__name__ + "(C)",
123
optimiser._matching_from_tree_format,
124
optimiser._matching_to_tree_format,
125
optimiser.make_source_parent_tree_compiled_dirstate))
127
test_intertree_permutations.append(
128
(optimiser.__name__ + "(PY)",
130
optimiser._matching_from_tree_format,
131
optimiser._matching_to_tree_format,
132
optimiser.make_source_parent_tree_python_dirstate))
134
test_intertree_permutations.append(
137
optimiser._matching_from_tree_format,
138
optimiser._matching_to_tree_format,
139
optimiser._test_mutable_trees_to_test_trees))
140
# PreviewTree does not have an InterTree optimiser class.
141
test_intertree_permutations.append(
142
(InterTree.__name__ + "(PreviewTree)",
146
mutable_trees_to_preview_trees))
115
147
adapter = InterTreeTestProviderAdapter(
116
148
default_transport,
117
149
# None here will cause a readonly decorator to be created