83
94
for optimiser_class in InterRepository._optimisers:
84
95
format_to_test = optimiser_class._get_repo_format_to_test()
85
96
if format_to_test is not None:
86
add_combo(optimiser_class.__name__, format_to_test, format_to_test)
97
add_combo(optimiser_class, format_to_test, format_to_test)
87
98
# if there are specific combinations we want to use, we can add them
88
99
# here. We want to test rich root upgrading.
89
100
# XXX: although we attach InterRepository class names to these scenarios,
90
101
# there's nothing asserting that these labels correspond to what is
92
add_combo('InterRepository',
93
weaverepo.RepositoryFormat5(),
94
knitrepo.RepositoryFormatKnit3())
95
add_combo('InterRepository',
96
knitrepo.RepositoryFormatKnit1(),
97
knitrepo.RepositoryFormatKnit3())
98
add_combo('InterKnitRepo',
99
knitrepo.RepositoryFormatKnit1(),
100
pack_repo.RepositoryFormatKnitPack1())
101
add_combo('InterKnitRepo',
102
pack_repo.RepositoryFormatKnitPack1(),
103
def force_known_graph(testcase):
104
from bzrlib.fetch import Inter1and2Helper
105
testcase.overrideAttr(Inter1and2Helper, 'known_graph_threshold', -1)
106
# Gather extra scenarios from the repository implementations,
107
# as InterRepositories can be used by Repository implementations
108
# they aren't aware of.
109
for module_name in format_registry._get_all_modules():
110
module = pyutils.get_named_object(module_name)
112
get_extra_interrepo_test_combinations = getattr(
114
"get_extra_interrepo_test_combinations")
115
except AttributeError:
117
for (interrepo_cls, from_format, to_format) in (
118
get_extra_interrepo_test_combinations()):
119
add_combo(interrepo_cls, from_format, to_format)
120
add_combo(InterRepository,
121
knitrepo.RepositoryFormatKnit1(),
122
knitrepo.RepositoryFormatKnit3())
123
add_combo(knitrepo.InterKnitRepo,
124
knitrepo.RepositoryFormatKnit1(),
125
knitpack_repo.RepositoryFormatKnitPack1())
126
add_combo(knitrepo.InterKnitRepo,
127
knitpack_repo.RepositoryFormatKnitPack1(),
103
128
knitrepo.RepositoryFormatKnit1())
104
add_combo('InterKnitRepo',
129
add_combo(knitrepo.InterKnitRepo,
105
130
knitrepo.RepositoryFormatKnit3(),
106
pack_repo.RepositoryFormatKnitPack3())
107
add_combo('InterKnitRepo',
108
pack_repo.RepositoryFormatKnitPack3(),
131
knitpack_repo.RepositoryFormatKnitPack3())
132
add_combo(knitrepo.InterKnitRepo,
133
knitpack_repo.RepositoryFormatKnitPack3(),
109
134
knitrepo.RepositoryFormatKnit3())
110
add_combo('InterKnitRepo',
111
pack_repo.RepositoryFormatKnitPack3(),
112
pack_repo.RepositoryFormatKnitPack4())
113
add_combo('InterDifferingSerializer',
114
pack_repo.RepositoryFormatKnitPack1(),
115
pack_repo.RepositoryFormatKnitPack6RichRoot())
116
add_combo('InterDifferingSerializer',
117
pack_repo.RepositoryFormatKnitPack6RichRoot(),
135
add_combo(knitrepo.InterKnitRepo,
136
knitpack_repo.RepositoryFormatKnitPack3(),
137
knitpack_repo.RepositoryFormatKnitPack4())
138
add_combo(InterDifferingSerializer,
139
knitpack_repo.RepositoryFormatKnitPack1(),
140
knitpack_repo.RepositoryFormatKnitPack6RichRoot())
141
add_combo(InterDifferingSerializer,
142
knitpack_repo.RepositoryFormatKnitPack1(),
143
knitpack_repo.RepositoryFormatKnitPack6RichRoot(),
145
label='InterDifferingSerializer+get_known_graph_ancestry')
146
add_combo(InterDifferingSerializer,
147
knitpack_repo.RepositoryFormatKnitPack6RichRoot(),
118
148
groupcompress_repo.RepositoryFormat2a())
119
add_combo('InterDifferingSerializer',
149
add_combo(InterDifferingSerializer,
120
150
groupcompress_repo.RepositoryFormat2a(),
121
pack_repo.RepositoryFormatKnitPack6RichRoot())
122
add_combo('InterRepository',
123
groupcompress_repo.RepositoryFormatCHK2(),
124
groupcompress_repo.RepositoryFormat2a())
125
add_combo('InterDifferingSerializer',
126
groupcompress_repo.RepositoryFormatCHK1(),
127
groupcompress_repo.RepositoryFormat2a())
151
knitpack_repo.RepositoryFormatKnitPack6RichRoot())