Status: | Merged |
---|---|
Merged at revision: | 6996 |
Proposed branch: | lp:~jelmer/brz/python3-e |
Merge into: | lp:brz |
Prerequisite: | lp:~jelmer/brz/python3-d |
Diff against target: |
4031 lines (+893/-566) (has conflicts) 70 files modified
breezy/branch.py (+1/-1) breezy/bundle/serializer/v08.py (+2/-1) breezy/bzr/branch.py (+1/-1) breezy/bzr/bzrdir.py (+1/-1) breezy/bzr/smart/request.py (+2/-1) breezy/config.py (+2/-2) breezy/conflicts.py (+3/-0) breezy/diff.py (+1/-1) breezy/email_message.py (+2/-2) breezy/gpg.py (+2/-2) breezy/log.py (+1/-1) breezy/merge.py (+2/-1) breezy/mergetools.py (+3/-1) breezy/osutils.py (+9/-5) breezy/plugins/git/branch.py (+3/-2) breezy/plugins/git/dir.py (+1/-1) breezy/plugins/git/fetch.py (+2/-1) breezy/plugins/git/mapping.py (+3/-2) breezy/plugins/git/remote.py (+2/-1) breezy/plugins/git/tests/test_memorytree.py (+30/-35) breezy/plugins/git/tree.py (+3/-2) breezy/revisionspec.py (+1/-1) breezy/shelf.py (+1/-1) breezy/status.py (+2/-1) breezy/tag.py (+2/-1) breezy/testament.py (+10/-4) breezy/tests/blackbox/test_reconcile.py (+2/-2) breezy/tests/per_branch/test_branch.py (+7/-7) breezy/tests/per_branch/test_check.py (+1/-1) breezy/tests/per_branch/test_commit.py (+4/-4) breezy/tests/per_branch/test_iter_merge_sorted_revisions.py (+18/-18) breezy/tests/per_branch/test_revision_id_to_dotted_revno.py (+2/-2) breezy/tests/per_foreign_vcs/test_branch.py (+1/-1) breezy/tests/per_interbranch/test_push.py (+2/-2) breezy/tests/per_interrepository/test_fetch.py (+10/-6) breezy/tests/per_intertree/test_compare.py (+8/-8) breezy/tests/per_pack_repository.py (+3/-3) breezy/tests/per_repository/test_commit_builder.py (+1/-1) breezy/tests/per_repository/test_repository.py (+2/-1) breezy/tests/per_repository_reference/test_fetch.py (+19/-19) breezy/tests/per_repository_reference/test_graph.py (+8/-8) breezy/tests/per_repository_reference/test_unlock.py (+8/-8) breezy/tests/per_repository_vf/test_check_reconcile.py (+219/-227) breezy/tests/per_repository_vf/test_fileid_involved.py (+11/-11) breezy/tests/per_repository_vf/test_repository.py (+6/-9) breezy/tests/per_transport.py (+47/-47) breezy/tests/per_tree/test_test_trees.py (+3/-2) breezy/tests/per_workingtree/test_put_file.py (+5/-5) breezy/tests/test_cache_utf8.py (+2/-1) breezy/tests/test_config.py (+3/-2) breezy/tests/test_conflicts.py (+9/-8) breezy/tests/test_dirstate.py (+2/-2) breezy/tests/test_fetch.py (+5/-5) breezy/tests/test_inv.py (+10/-9) breezy/tests/test_mail_client.py (+9/-7) breezy/tests/test_memorytree.py (+14/-13) breezy/tests/test_osutils.py (+10/-9) breezy/tests/test_read_bundle.py (+3/-2) breezy/tests/test_repository.py (+5/-4) breezy/tests/test_transform.py (+2/-1) breezy/tests/test_urlutils.py (+5/-4) breezy/tests/test_workingtree_4.py (+22/-22) breezy/transform.py (+6/-5) breezy/transport/gio_transport.py (+2/-1) breezy/tree.py (+3/-2) breezy/urlutils.py (+1/-1) breezy/utextwrap.py (+3/-2) breezy/version.py (+2/-1) breezy/win32utils.py (+1/-1) python3.passing (+295/-0) Text conflict in breezy/tests/per_interrepository/test_fetch.py |
To merge this branch: | bzr merge lp:~jelmer/brz/python3-e |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Martin Packman | Approve | ||
Review via email: mp+348118@code.launchpad.net |
Commit message
Add more bees.
Description of the change
Fix more python3 tests.
% wc -l python3.passing
13351 python3.passing
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'breezy/branch.py' |
2 | --- breezy/branch.py 2018-06-21 08:27:34 +0000 |
3 | +++ breezy/branch.py 2018-06-21 23:03:57 +0000 |
4 | @@ -2124,7 +2124,7 @@ |
5 | try: |
6 | parent = self.source.get_parent() |
7 | except errors.InaccessibleParent as e: |
8 | - mutter('parent was not accessible to copy: %s', e) |
9 | + mutter('parent was not accessible to copy: %s', str(e)) |
10 | else: |
11 | if parent: |
12 | self.target.set_parent(parent) |
13 | |
14 | === modified file 'breezy/bundle/serializer/v08.py' |
15 | --- breezy/bundle/serializer/v08.py 2018-06-15 13:10:28 +0000 |
16 | +++ breezy/bundle/serializer/v08.py 2018-06-21 23:03:57 +0000 |
17 | @@ -30,6 +30,7 @@ |
18 | from breezy.bundle.bundle_data import (RevisionInfo, BundleInfo) |
19 | from breezy.diff import internal_diff |
20 | from breezy.revision import NULL_REVISION |
21 | +from breezy.sixish import text_type |
22 | from breezy.testament import StrictTestament |
23 | from breezy.timestamp import ( |
24 | format_highres_date, |
25 | @@ -152,7 +153,7 @@ |
26 | f.write(b': ') |
27 | f.write(value) |
28 | f.write(b'\n') |
29 | - elif isinstance(value, unicode): |
30 | + elif isinstance(value, text_type): |
31 | f.write(b': ') |
32 | f.write(value.encode('utf-8')) |
33 | f.write(b'\n') |
34 | |
35 | === modified file 'breezy/bzr/branch.py' |
36 | --- breezy/bzr/branch.py 2018-06-21 19:00:42 +0000 |
37 | +++ breezy/bzr/branch.py 2018-06-21 23:03:57 +0000 |
38 | @@ -263,7 +263,7 @@ |
39 | _locs = ['parent', 'pull', 'x-pull'] |
40 | for l in _locs: |
41 | try: |
42 | - return self._transport.get_bytes(l).strip(b'\n') |
43 | + return self._transport.get_bytes(l).strip(b'\n').decode('utf-8') |
44 | except errors.NoSuchFile: |
45 | pass |
46 | return None |
47 | |
48 | === modified file 'breezy/bzr/bzrdir.py' |
49 | --- breezy/bzr/bzrdir.py 2018-05-07 14:35:05 +0000 |
50 | +++ breezy/bzr/bzrdir.py 2018-06-21 23:03:57 +0000 |
51 | @@ -833,7 +833,7 @@ |
52 | """ |
53 | if name == "": |
54 | return 'branch' |
55 | - return urlutils.join('branches', name.encode("utf-8")) |
56 | + return urlutils.join('branches', urlutils.escape(name)) |
57 | |
58 | def _read_branch_list(self): |
59 | """Read the branch list. |
60 | |
61 | === modified file 'breezy/bzr/smart/request.py' |
62 | --- breezy/bzr/smart/request.py 2018-06-21 22:26:54 +0000 |
63 | +++ breezy/bzr/smart/request.py 2018-06-21 23:03:57 +0000 |
64 | @@ -45,6 +45,7 @@ |
65 | trace, |
66 | urlutils, |
67 | ) |
68 | +from ...sixish import text_type |
69 | from ...lazy_import import lazy_import |
70 | lazy_import(globals(), """ |
71 | from breezy.bzr import bzrdir |
72 | @@ -445,7 +446,7 @@ |
73 | # If it is a DecodeError, than most likely we are starting |
74 | # with a plain string |
75 | str_or_unicode = err.object |
76 | - if isinstance(str_or_unicode, unicode): |
77 | + if isinstance(str_or_unicode, text_type): |
78 | # XXX: UTF-8 might have \x01 (our protocol v1 and v2 seperator |
79 | # byte) in it, so this encoding could cause broken responses. |
80 | # Newer clients use protocol v3, so will be fine. |
81 | |
82 | === modified file 'breezy/config.py' |
83 | --- breezy/config.py 2018-03-10 13:52:14 +0000 |
84 | +++ breezy/config.py 2018-06-21 23:03:57 +0000 |
85 | @@ -119,8 +119,8 @@ |
86 | binary_type, |
87 | BytesIO, |
88 | PY3, |
89 | + string_types, |
90 | text_type, |
91 | - string_types, |
92 | ) |
93 | |
94 | |
95 | @@ -2558,7 +2558,7 @@ |
96 | can take quoting into account. |
97 | """ |
98 | super(RegistryOption, self).__init__( |
99 | - name, default=lambda: unicode(registry.default_key), |
100 | + name, default=lambda: registry.default_key.decode('utf-8'), |
101 | default_from_env=default_from_env, |
102 | from_unicode=self.from_unicode, help=help, |
103 | invalid=invalid, unquote=False) |
104 | |
105 | === modified file 'breezy/conflicts.py' |
106 | --- breezy/conflicts.py 2018-05-27 18:00:21 +0000 |
107 | +++ breezy/conflicts.py 2018-06-21 23:03:57 +0000 |
108 | @@ -400,6 +400,9 @@ |
109 | return not self.__eq__(other) |
110 | |
111 | def __unicode__(self): |
112 | + return self.describe() |
113 | + |
114 | + def describe(self): |
115 | return self.format % self.__dict__ |
116 | |
117 | def __repr__(self): |
118 | |
119 | === modified file 'breezy/diff.py' |
120 | --- breezy/diff.py 2018-02-18 19:18:40 +0000 |
121 | +++ breezy/diff.py 2018-06-21 23:03:57 +0000 |
122 | @@ -738,7 +738,7 @@ |
123 | if sys.platform == 'win32': # Popen doesn't accept unicode on win32 |
124 | command_encoded = [] |
125 | for c in command: |
126 | - if isinstance(c, unicode): |
127 | + if isinstance(c, text_type): |
128 | command_encoded.append(c.encode('mbcs')) |
129 | else: |
130 | command_encoded.append(c) |
131 | |
132 | === modified file 'breezy/email_message.py' |
133 | --- breezy/email_message.py 2017-10-26 11:10:38 +0000 |
134 | +++ breezy/email_message.py 2018-06-21 23:03:57 +0000 |
135 | @@ -69,7 +69,7 @@ |
136 | self._body = body |
137 | self._parts = [] |
138 | |
139 | - if isinstance(to_address, (str, text_type)): |
140 | + if isinstance(to_address, (bytes, text_type)): |
141 | to_address = [ to_address ] |
142 | |
143 | to_addresses = [] |
144 | @@ -201,7 +201,7 @@ |
145 | # avoid base64 when it's not necessary in order to be most compatible |
146 | # with the capabilities of the receiving side, we check with encode() |
147 | # and decode() whether the body is actually ascii-only. |
148 | - if isinstance(string_, unicode): |
149 | + if isinstance(string_, text_type): |
150 | try: |
151 | return (string_.encode('ascii'), 'ascii') |
152 | except UnicodeEncodeError: |
153 | |
154 | === modified file 'breezy/gpg.py' |
155 | --- breezy/gpg.py 2018-06-15 13:10:28 +0000 |
156 | +++ breezy/gpg.py 2018-06-21 23:03:57 +0000 |
157 | @@ -42,7 +42,7 @@ |
158 | errors, |
159 | ) |
160 | from .sixish import ( |
161 | - BytesIO, |
162 | + text_type, |
163 | ) |
164 | |
165 | #verification results |
166 | @@ -232,7 +232,7 @@ |
167 | |
168 | def sign(self, content, mode): |
169 | import gpg |
170 | - if isinstance(content, unicode): |
171 | + if isinstance(content, text_type): |
172 | raise errors.BzrBadParameterUnicode('content') |
173 | |
174 | plain_text = gpg.Data(content) |
175 | |
176 | === modified file 'breezy/log.py' |
177 | --- breezy/log.py 2018-05-21 00:30:32 +0000 |
178 | +++ breezy/log.py 2018-06-21 23:03:57 +0000 |
179 | @@ -1523,7 +1523,7 @@ |
180 | rev.mapping.vcs.show_foreign_revid(rev.foreign_revid)) |
181 | |
182 | # Imported foreign revision revision ids always contain : |
183 | - if not ":" in rev.revision_id: |
184 | + if not b":" in rev.revision_id: |
185 | return [] |
186 | |
187 | # Revision was once imported from a foreign repository |
188 | |
189 | === modified file 'breezy/merge.py' |
190 | --- breezy/merge.py 2018-06-04 11:35:48 +0000 |
191 | +++ breezy/merge.py 2018-06-21 23:03:57 +0000 |
192 | @@ -51,6 +51,7 @@ |
193 | registry, |
194 | ) |
195 | from .sixish import ( |
196 | + text_type, |
197 | viewitems, |
198 | ) |
199 | # TODO: Report back as changes are merged in |
200 | @@ -841,7 +842,7 @@ |
201 | self.tt.iter_changes(), self.change_reporter) |
202 | self.cook_conflicts(fs_conflicts) |
203 | for conflict in self.cooked_conflicts: |
204 | - trace.warning(unicode(conflict)) |
205 | + trace.warning('%s', conflict.describe()) |
206 | |
207 | def _entries3(self): |
208 | """Gather data about files modified between three trees. |
209 | |
210 | === modified file 'breezy/mergetools.py' |
211 | --- breezy/mergetools.py 2017-05-22 00:56:52 +0000 |
212 | +++ breezy/mergetools.py 2018-06-21 23:03:57 +0000 |
213 | @@ -33,6 +33,8 @@ |
214 | ) |
215 | """) |
216 | |
217 | +from .sixish import text_type |
218 | + |
219 | |
220 | known_merge_tools = { |
221 | 'bcompare': 'bcompare {this} {other} {base} {result}', |
222 | @@ -52,7 +54,7 @@ |
223 | if exe is None: |
224 | return False |
225 | base, ext = os.path.splitext(exe) |
226 | - path_ext = [unicode(s.lower()) |
227 | + path_ext = [s.lower() |
228 | for s in os.getenv('PATHEXT', '').split(os.pathsep)] |
229 | return os.path.exists(exe) and ext in path_ext |
230 | else: |
231 | |
232 | === modified file 'breezy/osutils.py' |
233 | --- breezy/osutils.py 2018-05-13 02:18:13 +0000 |
234 | +++ breezy/osutils.py 2018-06-21 23:03:57 +0000 |
235 | @@ -384,12 +384,12 @@ |
236 | |
237 | def _win32_abspath(path): |
238 | # Real ntpath.abspath doesn't have a problem with a unicode cwd |
239 | - return _win32_fixdrive(ntpath.abspath(unicode(path)).replace('\\', '/')) |
240 | + return _win32_fixdrive(ntpath.abspath(path).replace('\\', '/')) |
241 | |
242 | |
243 | def _win32_realpath(path): |
244 | # Real ntpath.realpath doesn't have a problem with a unicode cwd |
245 | - return _win32_fixdrive(ntpath.realpath(unicode(path)).replace('\\', '/')) |
246 | + return _win32_fixdrive(ntpath.realpath(path).replace('\\', '/')) |
247 | |
248 | |
249 | def _win32_pathjoin(*args): |
250 | @@ -397,7 +397,7 @@ |
251 | |
252 | |
253 | def _win32_normpath(path): |
254 | - return _win32_fixdrive(ntpath.normpath(unicode(path)).replace('\\', '/')) |
255 | + return _win32_fixdrive(ntpath.normpath(path).replace('\\', '/')) |
256 | |
257 | |
258 | def _win32_getcwd(): |
259 | @@ -1454,13 +1454,17 @@ |
260 | can be accessed by that path. |
261 | """ |
262 | |
263 | - return unicodedata.normalize('NFC', text_type(path)), True |
264 | + if isinstance(path, bytes): |
265 | + path = path.decode(sys.getfilesystemencoding()) |
266 | + return unicodedata.normalize('NFC', path), True |
267 | |
268 | |
269 | def _inaccessible_normalized_filename(path): |
270 | __doc__ = _accessible_normalized_filename.__doc__ |
271 | |
272 | - normalized = unicodedata.normalize('NFC', text_type(path)) |
273 | + if isinstance(path, bytes): |
274 | + path = path.decode(sys.getfilesystemencoding()) |
275 | + normalized = unicodedata.normalize('NFC', path) |
276 | return normalized, normalized == path |
277 | |
278 | |
279 | |
280 | === modified file 'breezy/plugins/git/branch.py' |
281 | --- breezy/plugins/git/branch.py 2018-05-15 19:46:32 +0000 |
282 | +++ breezy/plugins/git/branch.py 2018-06-21 23:03:57 +0000 |
283 | @@ -44,6 +44,7 @@ |
284 | from ...revision import ( |
285 | NULL_REVISION, |
286 | ) |
287 | +from ...sixish import text_type |
288 | from ...trace import ( |
289 | is_quiet, |
290 | mutter, |
291 | @@ -263,7 +264,7 @@ |
292 | class GitBranchFormat(branch.BranchFormat): |
293 | |
294 | def network_name(self): |
295 | - return "git" |
296 | + return b"git" |
297 | |
298 | def supports_tags(self): |
299 | return True |
300 | @@ -695,7 +696,7 @@ |
301 | peeled = refs.get_peeled(ref_name) |
302 | if peeled is None: |
303 | peeled = unpeeled |
304 | - if type(tag_name) is not unicode: |
305 | + if not isinstance(tag_name, text_type): |
306 | raise TypeError(tag_name) |
307 | yield (ref_name, tag_name, peeled, unpeeled) |
308 | |
309 | |
310 | === modified file 'breezy/plugins/git/dir.py' |
311 | --- breezy/plugins/git/dir.py 2018-05-13 22:54:28 +0000 |
312 | +++ breezy/plugins/git/dir.py 2018-06-21 23:03:57 +0000 |
313 | @@ -689,5 +689,5 @@ |
314 | except bzr_errors.NoSuchFile: |
315 | return self |
316 | else: |
317 | - commondir = commondir.rstrip('/.git/') |
318 | + commondir = commondir.rstrip(b'/.git/') |
319 | return ControlDir.open_from_transport(get_transport_from_path(commondir)) |
320 | |
321 | === modified file 'breezy/plugins/git/fetch.py' |
322 | --- breezy/plugins/git/fetch.py 2018-06-17 13:07:22 +0000 |
323 | +++ breezy/plugins/git/fetch.py 2018-06-21 23:03:57 +0000 |
324 | @@ -55,6 +55,7 @@ |
325 | from ...revision import ( |
326 | NULL_REVISION, |
327 | ) |
328 | +from ...sixish import text_type |
329 | from ...bzr.inventorytree import InventoryRevisionTree |
330 | from ...testament import ( |
331 | StrictTestament3, |
332 | @@ -223,7 +224,7 @@ |
333 | :param lookup_object: Lookup a git object by its SHA1 |
334 | :return: Inventory delta, as list |
335 | """ |
336 | - if type(path) is not unicode: |
337 | + if not isinstance(path, text_type): |
338 | raise TypeError(path) |
339 | ret = [] |
340 | for name, mode, hexsha in base_tree.iteritems(): |
341 | |
342 | === modified file 'breezy/plugins/git/mapping.py' |
343 | --- breezy/plugins/git/mapping.py 2018-05-15 01:20:00 +0000 |
344 | +++ breezy/plugins/git/mapping.py 2018-06-21 23:03:57 +0000 |
345 | @@ -40,6 +40,7 @@ |
346 | from ...revision import ( |
347 | NULL_REVISION, |
348 | ) |
349 | +from ...sixish import text_type |
350 | from .errors import ( |
351 | NoPushSupport, |
352 | UnknownCommitExtra, |
353 | @@ -159,7 +160,7 @@ |
354 | # We must just hope they are valid UTF-8.. |
355 | if path == "": |
356 | return ROOT_ID |
357 | - if type(path) is unicode: |
358 | + if isinstance(path, text_type): |
359 | path = path.encode("utf-8") |
360 | return FILE_ID_PREFIX + escape_file_id(path) |
361 | |
362 | @@ -553,7 +554,7 @@ |
363 | def symlink_to_blob(symlink_target): |
364 | from dulwich.objects import Blob |
365 | blob = Blob() |
366 | - if type(symlink_target) == unicode: |
367 | + if isinstance(symlink_target, text_type): |
368 | symlink_target = symlink_target.encode('utf-8') |
369 | blob.data = symlink_target |
370 | return blob |
371 | |
372 | === modified file 'breezy/plugins/git/remote.py' |
373 | --- breezy/plugins/git/remote.py 2018-05-20 16:08:36 +0000 |
374 | +++ breezy/plugins/git/remote.py 2018-06-21 23:03:57 +0000 |
375 | @@ -48,6 +48,7 @@ |
376 | UninitializableFormat, |
377 | ) |
378 | from ...revisiontree import RevisionTree |
379 | +from ...sixish import text_type |
380 | from ...transport import ( |
381 | Transport, |
382 | register_urlparse_netloc_protocol, |
383 | @@ -902,7 +903,7 @@ |
384 | except KeyError: |
385 | # Let's just hope it's a commit |
386 | peeled = unpeeled |
387 | - if type(tag_name) is not unicode: |
388 | + if not isinstance(tag_name, text_type): |
389 | raise TypeError(tag_name) |
390 | yield (ref_name, tag_name, peeled, unpeeled) |
391 | |
392 | |
393 | === modified file 'breezy/plugins/git/tests/test_memorytree.py' |
394 | --- breezy/plugins/git/tests/test_memorytree.py 2018-05-22 02:05:12 +0000 |
395 | +++ breezy/plugins/git/tests/test_memorytree.py 2018-06-21 23:03:57 +0000 |
396 | @@ -96,33 +96,30 @@ |
397 | def test_put_new_file(self): |
398 | branch = self.make_branch('branch') |
399 | tree = branch.create_memorytree() |
400 | - tree.lock_write() |
401 | - tree.add(['', 'foo'], kinds=['directory', 'file']) |
402 | - tree.put_file_bytes_non_atomic('foo', 'barshoom') |
403 | - self.assertEqual('barshoom', tree.get_file('foo').read()) |
404 | - tree.unlock() |
405 | + with tree.lock_write(): |
406 | + tree.add(['', 'foo'], kinds=['directory', 'file']) |
407 | + tree.put_file_bytes_non_atomic('foo', b'barshoom') |
408 | + self.assertEqual(b'barshoom', tree.get_file('foo').read()) |
409 | |
410 | def test_put_existing_file(self): |
411 | branch = self.make_branch('branch') |
412 | tree = branch.create_memorytree() |
413 | - tree.lock_write() |
414 | - tree.add(['', 'foo'], kinds=['directory', 'file']) |
415 | - tree.put_file_bytes_non_atomic('foo', 'first-content') |
416 | - tree.put_file_bytes_non_atomic('foo', 'barshoom') |
417 | - self.assertEqual('barshoom', tree.get_file('foo').read()) |
418 | - tree.unlock() |
419 | + with tree.lock_write(): |
420 | + tree.add(['', 'foo'], kinds=['directory', 'file']) |
421 | + tree.put_file_bytes_non_atomic('foo', b'first-content') |
422 | + tree.put_file_bytes_non_atomic('foo', b'barshoom') |
423 | + self.assertEqual(b'barshoom', tree.get_file('foo').read()) |
424 | |
425 | def test_add_in_subdir(self): |
426 | branch = self.make_branch('branch') |
427 | tree = branch.create_memorytree() |
428 | - tree.lock_write() |
429 | - self.addCleanup(tree.unlock) |
430 | - tree.add([''], None, ['directory']) |
431 | - tree.mkdir('adir') |
432 | - tree.put_file_bytes_non_atomic('adir/afile', 'barshoom') |
433 | - tree.add(['adir/afile'], None, ['file']) |
434 | - self.assertTrue(tree.is_versioned('adir/afile')) |
435 | - self.assertTrue(tree.is_versioned('adir')) |
436 | + with tree.lock_write(): |
437 | + tree.add([''], None, ['directory']) |
438 | + tree.mkdir('adir') |
439 | + tree.put_file_bytes_non_atomic('adir/afile', b'barshoom') |
440 | + tree.add(['adir/afile'], None, ['file']) |
441 | + self.assertTrue(tree.is_versioned('adir/afile')) |
442 | + self.assertTrue(tree.is_versioned('adir')) |
443 | |
444 | def test_commit_trivial(self): |
445 | """Smoke test for commit on a MemoryTree. |
446 | @@ -132,18 +129,16 @@ |
447 | """ |
448 | branch = self.make_branch('branch') |
449 | tree = branch.create_memorytree() |
450 | - tree.lock_write() |
451 | - tree.add(['', 'foo'], kinds=['directory', 'file']) |
452 | - tree.put_file_bytes_non_atomic('foo', 'barshoom') |
453 | - revision_id = tree.commit('message baby') |
454 | - # the parents list for the tree should have changed. |
455 | - self.assertEqual([revision_id], tree.get_parent_ids()) |
456 | - tree.unlock() |
457 | + with tree.lock_write(): |
458 | + tree.add(['', 'foo'], kinds=['directory', 'file']) |
459 | + tree.put_file_bytes_non_atomic('foo', b'barshoom') |
460 | + revision_id = tree.commit('message baby') |
461 | + # the parents list for the tree should have changed. |
462 | + self.assertEqual([revision_id], tree.get_parent_ids()) |
463 | # and we should have a revision that is accessible outside the tree lock |
464 | revtree = tree.branch.repository.revision_tree(revision_id) |
465 | - revtree.lock_read() |
466 | - self.addCleanup(revtree.unlock) |
467 | - self.assertEqual('barshoom', revtree.get_file('foo').read()) |
468 | + with revtree.lock_read(): |
469 | + self.assertEqual(b'barshoom', revtree.get_file('foo').read()) |
470 | |
471 | def test_unversion(self): |
472 | """Some test for unversion of a memory tree.""" |
473 | @@ -168,22 +163,22 @@ |
474 | tree = self.make_branch_and_memory_tree('branch') |
475 | tree.lock_write() |
476 | self.addCleanup(tree.unlock) |
477 | - tree.add(['', 'foo'], ['root-id', 'foo-id'], ['directory', 'file']) |
478 | - tree.put_file_bytes_non_atomic('foo', 'content\n') |
479 | + tree.add(['', 'foo'], [b'root-id', b'foo-id'], ['directory', 'file']) |
480 | + tree.put_file_bytes_non_atomic('foo', b'content\n') |
481 | tree.commit('one', rev_id=b'rev-one') |
482 | tree.rename_one('foo', 'bar') |
483 | - self.assertEqual('bar', tree.id2path('foo-id')) |
484 | + self.assertEqual('bar', tree.id2path(b'foo-id')) |
485 | self.assertEqual('content\n', tree._file_transport.get_bytes('bar')) |
486 | self.assertRaises(errors.NoSuchFile, |
487 | tree._file_transport.get_bytes, 'foo') |
488 | tree.commit('two', rev_id=b'rev-two') |
489 | - self.assertEqual('content\n', tree._file_transport.get_bytes('bar')) |
490 | + self.assertEqual(b'content\n', tree._file_transport.get_bytes('bar')) |
491 | self.assertRaises(errors.NoSuchFile, |
492 | tree._file_transport.get_bytes, 'foo') |
493 | |
494 | rev_tree2 = tree.branch.repository.revision_tree(b'rev-two') |
495 | - self.assertEqual('bar', rev_tree2.id2path('foo-id')) |
496 | - self.assertEqual('content\n', rev_tree2.get_file_text('bar')) |
497 | + self.assertEqual('bar', rev_tree2.id2path(b'foo-id')) |
498 | + self.assertEqual(b'content\n', rev_tree2.get_file_text('bar')) |
499 | |
500 | def test_rename_file_to_subdir(self): |
501 | tree = self.make_branch_and_memory_tree('branch') |
502 | |
503 | === modified file 'breezy/plugins/git/tree.py' |
504 | --- breezy/plugins/git/tree.py 2018-06-21 08:03:55 +0000 |
505 | +++ breezy/plugins/git/tree.py 2018-06-21 23:03:57 +0000 |
506 | @@ -59,6 +59,7 @@ |
507 | CURRENT_REVISION, |
508 | NULL_REVISION, |
509 | ) |
510 | +from ...sixish import text_type |
511 | |
512 | from .mapping import ( |
513 | mode_is_executable, |
514 | @@ -1034,9 +1035,9 @@ |
515 | posixpath.basename(path).strip("/"), parent_id) |
516 | |
517 | def _get_file_ie(self, name, path, value, parent_id): |
518 | - if type(name) is not unicode: |
519 | + if not isinstance(name, text_type): |
520 | raise TypeError(name) |
521 | - if type(path) is not unicode: |
522 | + if not isinstance(path, text_type): |
523 | raise TypeError(path) |
524 | if not isinstance(value, tuple) or len(value) != 10: |
525 | raise TypeError(value) |
526 | |
527 | === modified file 'breezy/revisionspec.py' |
528 | --- breezy/revisionspec.py 2017-11-12 17:53:47 +0000 |
529 | +++ breezy/revisionspec.py 2018-06-21 23:03:57 +0000 |
530 | @@ -468,7 +468,7 @@ |
531 | # self.spec comes straight from parsing the command line arguments, |
532 | # so we expect it to be a Unicode string. Switch it to the internal |
533 | # representation. |
534 | - if isinstance(self.spec, unicode): |
535 | + if isinstance(self.spec, text_type): |
536 | return cache_utf8.encode(self.spec) |
537 | return self.spec |
538 | |
539 | |
540 | === modified file 'breezy/shelf.py' |
541 | --- breezy/shelf.py 2018-02-18 19:18:40 +0000 |
542 | +++ breezy/shelf.py 2018-06-21 23:03:57 +0000 |
543 | @@ -297,7 +297,7 @@ |
544 | if message is not None: |
545 | metadata[b'message'] = message.encode('utf-8') |
546 | return serializer.bytes_record( |
547 | - bencode.bencode(metadata), (('metadata',),)) |
548 | + bencode.bencode(metadata), ((b'metadata',),)) |
549 | |
550 | def write_shelf(self, shelf_file, message=None): |
551 | """Serialize the shelved changes to a file. |
552 | |
553 | === modified file 'breezy/status.py' |
554 | --- breezy/status.py 2017-12-11 01:58:37 +0000 |
555 | +++ breezy/status.py 2018-06-21 23:03:57 +0000 |
556 | @@ -27,6 +27,7 @@ |
557 | revision as _mod_revision, |
558 | ) |
559 | from . import errors as errors |
560 | +from .sixish import text_type |
561 | from .trace import mutter, warning |
562 | from .workingtree import ShelvingUnsupported |
563 | |
564 | @@ -195,7 +196,7 @@ |
565 | prefix = 'C ' |
566 | else: |
567 | prefix = ' ' |
568 | - to_file.write("%s %s\n" % (prefix, unicode(conflict))) |
569 | + to_file.write("%s %s\n" % (prefix, conflict)) |
570 | # Show files that were requested but don't exist (and are |
571 | # not versioned). We don't involve delta in this; these |
572 | # paths are really the province of just the status |
573 | |
574 | === modified file 'breezy/tag.py' |
575 | --- breezy/tag.py 2018-05-13 02:18:13 +0000 |
576 | +++ breezy/tag.py 2018-06-21 23:03:57 +0000 |
577 | @@ -28,6 +28,7 @@ |
578 | # called tags* are ctags files... mbp 20070220. |
579 | |
580 | from .registry import Registry |
581 | +from .sixish import text_type |
582 | from .lazy_import import lazy_import |
583 | lazy_import(globals(), """ |
584 | import itertools |
585 | @@ -360,7 +361,7 @@ |
586 | """ |
587 | def natural_sort_key(tag): |
588 | return [f(s) for f, s in |
589 | - zip(itertools.cycle((unicode.lower, int)), |
590 | + zip(itertools.cycle((text_type.lower, int)), |
591 | re.split('([0-9]+)', tag[0]))] |
592 | tags.sort(key=natural_sort_key) |
593 | |
594 | |
595 | === modified file 'breezy/testament.py' |
596 | --- breezy/testament.py 2017-10-27 00:18:42 +0000 |
597 | +++ breezy/testament.py 2018-06-21 23:03:57 +0000 |
598 | @@ -78,6 +78,7 @@ |
599 | contains_linebreaks, |
600 | sha_strings, |
601 | ) |
602 | +from .sixish import text_type |
603 | from .tree import Tree |
604 | |
605 | |
606 | @@ -162,7 +163,9 @@ |
607 | def _escape_path(self, path): |
608 | if contains_linebreaks(path): |
609 | raise ValueError(path) |
610 | - return unicode(path.replace('\\', '/').replace(' ', '\\ ')) |
611 | + if not isinstance(path, text_type): |
612 | + raise TypeError(path) |
613 | + return path.replace(u'\\', u'/').replace(u' ', u'\\ ') |
614 | |
615 | def _entry_to_line(self, path, ie): |
616 | """Turn an inventory entry into a testament line""" |
617 | @@ -240,6 +243,9 @@ |
618 | def _escape_path(self, path): |
619 | if contains_linebreaks(path): |
620 | raise ValueError(path) |
621 | - if path == '': |
622 | - path = '.' |
623 | - return unicode(path.replace('\\', '/').replace(' ', '\\ ')) |
624 | + if not isinstance(path, text_type): |
625 | + # TODO(jelmer): Clean this up for pad.lv/1696545 |
626 | + path = path.decode('ascii') |
627 | + if path == u'': |
628 | + path = u'.' |
629 | + return path.replace(u'\\', u'/').replace(u' ', u'\\ ') |
630 | |
631 | === modified file 'breezy/tests/blackbox/test_reconcile.py' |
632 | --- breezy/tests/blackbox/test_reconcile.py 2018-02-18 15:21:06 +0000 |
633 | +++ breezy/tests/blackbox/test_reconcile.py 2018-06-21 23:03:57 +0000 |
634 | @@ -51,10 +51,10 @@ |
635 | # an empty inventory with no revision will trigger reconciliation. |
636 | repo = t.branch.repository |
637 | inv = inventory.Inventory(revision_id=b'missing') |
638 | - inv.root.revision='missing' |
639 | + inv.root.revision=b'missing' |
640 | repo.lock_write() |
641 | repo.start_write_group() |
642 | - repo.add_inventory('missing', inv, []) |
643 | + repo.add_inventory(b'missing', inv, []) |
644 | repo.commit_write_group() |
645 | repo.unlock() |
646 | (out, err) = self.run_bzr('reconcile') |
647 | |
648 | === modified file 'breezy/tests/per_branch/test_branch.py' |
649 | --- breezy/tests/per_branch/test_branch.py 2018-06-15 13:10:28 +0000 |
650 | +++ breezy/tests/per_branch/test_branch.py 2018-06-21 23:03:57 +0000 |
651 | @@ -74,7 +74,7 @@ |
652 | graph = tree.branch.repository.get_graph() |
653 | ancestry_graph = graph.get_parent_map( |
654 | tree.branch.repository.all_revision_ids()) |
655 | - self.assertEqual({revmap['1']: ('null:',), |
656 | + self.assertEqual({revmap['1']: (b'null:',), |
657 | revmap['2']: (revmap['1'], ), |
658 | revmap['1.1.1']: (revmap['1'], ), |
659 | revmap['3']: (revmap['2'], revmap['1.1.1'], ), |
660 | @@ -213,9 +213,9 @@ |
661 | if not wt.branch.repository._format.supports_ghosts: |
662 | raise tests.TestNotApplicable("repository format does not " |
663 | "support ghosts") |
664 | - wt.set_parent_ids(['non:existent@rev--ision--0--2'], |
665 | + wt.set_parent_ids([b'non:existent@rev--ision--0--2'], |
666 | allow_leftmost_as_ghost=True) |
667 | - self.assertEqual(['non:existent@rev--ision--0--2'], |
668 | + self.assertEqual([b'non:existent@rev--ision--0--2'], |
669 | wt.get_parent_ids()) |
670 | rev_id = wt.commit('commit against a ghost first parent.') |
671 | rev = wt.branch.repository.get_revision(rev_id) |
672 | @@ -230,15 +230,15 @@ |
673 | raise tests.TestNotApplicable("repository format does not " |
674 | "support ghosts") |
675 | wt.set_parent_ids([ |
676 | - 'foo@azkhazan-123123-abcabc', |
677 | - 'wibble@fofof--20050401--1928390812', |
678 | + b'foo@azkhazan-123123-abcabc', |
679 | + b'wibble@fofof--20050401--1928390812', |
680 | ], |
681 | allow_leftmost_as_ghost=True) |
682 | rev_id = wt.commit("commit from ghost base with one merge") |
683 | # the revision should have been committed with two parents |
684 | rev = wt.branch.repository.get_revision(rev_id) |
685 | - self.assertEqual(['foo@azkhazan-123123-abcabc', |
686 | - 'wibble@fofof--20050401--1928390812'], |
687 | + self.assertEqual([b'foo@azkhazan-123123-abcabc', |
688 | + b'wibble@fofof--20050401--1928390812'], |
689 | rev.parent_ids) |
690 | |
691 | def test_bad_revision(self): |
692 | |
693 | === modified file 'breezy/tests/per_branch/test_check.py' |
694 | --- breezy/tests/per_branch/test_check.py 2017-06-05 20:48:31 +0000 |
695 | +++ breezy/tests/per_branch/test_check.py 2018-06-21 23:03:57 +0000 |
696 | @@ -60,7 +60,7 @@ |
697 | result = tree.branch.check(refs) |
698 | ui.ui_factory = tests.TestUIFactory(stdout=BytesIO()) |
699 | result.report_results(True) |
700 | - self.assertContainsRe('revno does not match len', |
701 | + self.assertContainsRe(b'revno does not match len', |
702 | ui.ui_factory.stdout.getvalue()) |
703 | |
704 | def test_check_branch_report_results(self): |
705 | |
706 | === modified file 'breezy/tests/per_branch/test_commit.py' |
707 | --- breezy/tests/per_branch/test_commit.py 2018-03-20 07:41:20 +0000 |
708 | +++ breezy/tests/per_branch/test_commit.py 2018-06-21 23:03:57 +0000 |
709 | @@ -189,20 +189,20 @@ |
710 | # setting up a playground |
711 | tree.add('rootfile') |
712 | rootfile_id = tree.path2id('rootfile') |
713 | - tree.put_file_bytes_non_atomic('rootfile', 'abc') |
714 | + tree.put_file_bytes_non_atomic('rootfile', b'abc') |
715 | tree.add('dir') |
716 | dir_id = tree.path2id('dir') |
717 | tree.add('dir/subfile') |
718 | dir_subfile_id = tree.path2id('dir/subfile') |
719 | - tree.put_file_bytes_non_atomic('to_be_unversioned', 'blah') |
720 | + tree.put_file_bytes_non_atomic('to_be_unversioned', b'blah') |
721 | tree.add(['to_be_unversioned']) |
722 | to_be_unversioned_id = tree.path2id('to_be_unversioned') |
723 | - tree.put_file_bytes_non_atomic('dir/subfile', 'def') |
724 | + tree.put_file_bytes_non_atomic('dir/subfile', b'def') |
725 | revid1 = tree.commit('first revision') |
726 | |
727 | with tree.lock_write(): |
728 | # making changes |
729 | - tree.put_file_bytes_non_atomic('rootfile', 'jkl') |
730 | + tree.put_file_bytes_non_atomic('rootfile', b'jkl') |
731 | tree.rename_one('dir/subfile', 'dir/subfile_renamed') |
732 | tree.unversion(['to_be_unversioned']) |
733 | tree.mkdir('added_dir') |
734 | |
735 | === modified file 'breezy/tests/per_branch/test_iter_merge_sorted_revisions.py' |
736 | --- breezy/tests/per_branch/test_iter_merge_sorted_revisions.py 2018-03-27 00:51:45 +0000 |
737 | +++ breezy/tests/per_branch/test_iter_merge_sorted_revisions.py 2018-06-21 23:03:57 +0000 |
738 | @@ -81,47 +81,47 @@ |
739 | |
740 | def test_merge_sorted_range(self): |
741 | self.assertIterRevids(['1.1.1'], |
742 | - start_revision_id=b'1.1.1', stop_revision_id=b'1') |
743 | + start_revision_id='1.1.1', stop_revision_id='1') |
744 | |
745 | def test_merge_sorted_range_start_only(self): |
746 | self.assertIterRevids(['1.1.1', '1'], |
747 | - start_revision_id=b'1.1.1') |
748 | + start_revision_id='1.1.1') |
749 | |
750 | def test_merge_sorted_range_stop_exclude(self): |
751 | self.assertIterRevids(['3', '1.1.1', '2'], stop_revision_id=b'1') |
752 | |
753 | def test_merge_sorted_range_stop_include(self): |
754 | self.assertIterRevids(['3', '1.1.1', '2'], |
755 | - stop_revision_id=b'2', stop_rule='include') |
756 | + stop_revision_id='2', stop_rule='include') |
757 | |
758 | def test_merge_sorted_range_stop_with_merges(self): |
759 | self.assertIterRevids(['3', '1.1.1'], |
760 | - stop_revision_id=b'3', stop_rule='with-merges') |
761 | + stop_revision_id='3', stop_rule='with-merges') |
762 | |
763 | def test_merge_sorted_range_stop_with_merges_can_show_non_parents(self): |
764 | # 1.1.1 gets logged before the end revision is reached. |
765 | # so it is returned even though 1.1.1 is not a parent of 2. |
766 | self.assertIterRevids(['3', '1.1.1', '2'], |
767 | - stop_revision_id=b'2', stop_rule='with-merges') |
768 | + stop_revision_id='2', stop_rule='with-merges') |
769 | |
770 | def test_merge_sorted_range_stop_with_merges_ignore_non_parents(self): |
771 | # 2 is not a parent of 1.1.1 so it must not be returned |
772 | self.assertIterRevids(['3', '1.1.1'], |
773 | - stop_revision_id=b'1.1.1', stop_rule='with-merges') |
774 | + stop_revision_id='1.1.1', stop_rule='with-merges') |
775 | |
776 | def test_merge_sorted_single_stop_exclude(self): |
777 | # from X..X exclusive is an empty result |
778 | - self.assertIterRevids([], start_revision_id=b'3', stop_revision_id=b'3') |
779 | + self.assertIterRevids([], start_revision_id='3', stop_revision_id='3') |
780 | |
781 | def test_merge_sorted_single_stop_include(self): |
782 | # from X..X inclusive is [X] |
783 | self.assertIterRevids(['3'], |
784 | - start_revision_id=b'3', stop_revision_id=b'3', |
785 | + start_revision_id='3', stop_revision_id='3', |
786 | stop_rule='include') |
787 | |
788 | def test_merge_sorted_single_stop_with_merges(self): |
789 | self.assertIterRevids(['3', '1.1.1'], |
790 | - start_revision_id=b'3', stop_revision_id=b'3', |
791 | + start_revision_id='3', stop_revision_id='3', |
792 | stop_rule='with-merges') |
793 | |
794 | def test_merge_sorted_forward(self): |
795 | @@ -129,25 +129,25 @@ |
796 | |
797 | def test_merge_sorted_range_forward(self): |
798 | self.assertIterRevids(['1.1.1'], |
799 | - start_revision_id=b'1.1.1', stop_revision_id=b'1', |
800 | + start_revision_id='1.1.1', stop_revision_id='1', |
801 | direction='forward') |
802 | |
803 | def test_merge_sorted_range_start_only_forward(self): |
804 | self.assertIterRevids(['1', '1.1.1'], |
805 | - start_revision_id=b'1.1.1', direction='forward') |
806 | + start_revision_id='1.1.1', direction='forward') |
807 | |
808 | def test_merge_sorted_range_stop_exclude_forward(self): |
809 | self.assertIterRevids(['2', '1.1.1', '3'], |
810 | - stop_revision_id=b'1', direction='forward') |
811 | + stop_revision_id='1', direction='forward') |
812 | |
813 | def test_merge_sorted_range_stop_include_forward(self): |
814 | self.assertIterRevids(['2', '1.1.1', '3'], |
815 | - stop_revision_id=b'2', stop_rule='include', |
816 | + stop_revision_id='2', stop_rule='include', |
817 | direction='forward') |
818 | |
819 | def test_merge_sorted_range_stop_with_merges_forward(self): |
820 | self.assertIterRevids(['1.1.1', '3'], |
821 | - stop_revision_id=b'3', stop_rule='with-merges', |
822 | + stop_revision_id='3', stop_rule='with-merges', |
823 | direction='forward') |
824 | |
825 | |
826 | @@ -303,7 +303,7 @@ |
827 | branch) |
828 | # 3 and 2.1.2 are not part of 2.2.1 ancestry and should not appear |
829 | self.assertIterRevids(['2.2.1', '2.1.1', '2', '1.1.1', '1'], |
830 | - branch, start_revision_id=b'2.2.1', |
831 | + branch, start_revision_id='2.2.1', |
832 | stop_rule='with-merges') |
833 | |
834 | def test_merge_sorted_with_different_depths_merge(self): |
835 | @@ -317,7 +317,7 @@ |
836 | # 3 (and its descendants) and 2.1.2 are not part of 2.2.1 ancestry and |
837 | # should not appear |
838 | self.assertIterRevids(['2.2.1', '2.1.1', '2', '1'], |
839 | - branch, start_revision_id=b'2.2.1', |
840 | + branch, start_revision_id='2.2.1', |
841 | stop_rule='with-merges') |
842 | |
843 | def test_merge_sorted_exclude_ancestry(self): |
844 | @@ -329,6 +329,6 @@ |
845 | self.assertIterRevids(['1.1.2', '1.2.1'], |
846 | branch, |
847 | stop_rule='with-merges-without-common-ancestry', |
848 | - start_revision_id=b'1.1.2', |
849 | - stop_revision_id=b'1.1.1') |
850 | + start_revision_id='1.1.2', |
851 | + stop_revision_id='1.1.1') |
852 | |
853 | |
854 | === modified file 'breezy/tests/per_branch/test_revision_id_to_dotted_revno.py' |
855 | --- breezy/tests/per_branch/test_revision_id_to_dotted_revno.py 2017-08-07 21:14:18 +0000 |
856 | +++ breezy/tests/per_branch/test_revision_id_to_dotted_revno.py 2018-06-21 23:03:57 +0000 |
857 | @@ -26,11 +26,11 @@ |
858 | def test_lookup_dotted_revno(self): |
859 | tree, revmap = self.create_tree_with_merge() |
860 | the_branch = tree.branch |
861 | - self.assertEqual((0,), the_branch.revision_id_to_dotted_revno('null:')) |
862 | + self.assertEqual((0,), the_branch.revision_id_to_dotted_revno(b'null:')) |
863 | self.assertEqual((1,), the_branch.revision_id_to_dotted_revno(revmap['1'])) |
864 | self.assertEqual((2,), the_branch.revision_id_to_dotted_revno(revmap['2'])) |
865 | self.assertEqual((3,), the_branch.revision_id_to_dotted_revno(revmap['3'])) |
866 | self.assertEqual((1, 1, 1), the_branch.revision_id_to_dotted_revno( |
867 | revmap['1.1.1'])) |
868 | self.assertRaises(errors.NoSuchRevision, |
869 | - the_branch.revision_id_to_dotted_revno, 'rev-1.0.2') |
870 | + the_branch.revision_id_to_dotted_revno, b'rev-1.0.2') |
871 | |
872 | === modified file 'breezy/tests/per_foreign_vcs/test_branch.py' |
873 | --- breezy/tests/per_foreign_vcs/test_branch.py 2017-11-19 18:55:26 +0000 |
874 | +++ breezy/tests/per_foreign_vcs/test_branch.py 2018-06-21 23:03:57 +0000 |
875 | @@ -146,4 +146,4 @@ |
876 | self.assertIsInstance(self.branch_format.get_format_description(), str) |
877 | |
878 | def test_network_name(self): |
879 | - self.assertIsInstance(self.branch_format.network_name(), str) |
880 | + self.assertIsInstance(self.branch_format.network_name(), bytes) |
881 | |
882 | === modified file 'breezy/tests/per_interbranch/test_push.py' |
883 | --- breezy/tests/per_interbranch/test_push.py 2018-03-27 00:51:45 +0000 |
884 | +++ breezy/tests/per_interbranch/test_push.py 2018-06-21 23:03:57 +0000 |
885 | @@ -267,10 +267,10 @@ |
886 | builder.start_series() |
887 | revid1 = builder.build_snapshot(None, [ |
888 | ('add', ('', None, 'directory', '')), |
889 | - ('add', ('filename', None, 'file', 'content\n'))]) |
890 | + ('add', ('filename', None, 'file', b'content\n'))]) |
891 | revid2 = builder.build_snapshot([revid1], []) |
892 | revid3 = builder.build_snapshot([revid2], |
893 | - [('modify', ('filename', 'new-content\n'))]) |
894 | + [('modify', ('filename', b'new-content\n'))]) |
895 | builder.finish_series() |
896 | trunk = builder.get_branch() |
897 | # Sprout rev-1 to "trunk", so that we can stack on it. |
898 | |
899 | === modified file 'breezy/tests/per_interrepository/test_fetch.py' |
900 | --- breezy/tests/per_interrepository/test_fetch.py 2018-06-21 17:53:38 +0000 |
901 | +++ breezy/tests/per_interrepository/test_fetch.py 2018-06-21 23:03:57 +0000 |
902 | @@ -161,10 +161,10 @@ |
903 | builder = self.make_branch_builder('full-branch') |
904 | builder.start_series() |
905 | builder.build_snapshot(None, [ |
906 | - ('add', ('', 'root-id', 'directory', '')), |
907 | - ('add', ('file', 'file-id', 'file', 'content\n'))], |
908 | + ('add', ('', b'root-id', 'directory', '')), |
909 | + ('add', ('file', b'file-id', 'file', b'content\n'))], |
910 | revision_id=b'first') |
911 | - builder.build_snapshot(['first'], [ |
912 | + builder.build_snapshot([b'first'], [ |
913 | ('modify', ('file', b'second content\n'))], |
914 | revision_id=b'second') |
915 | builder.build_snapshot([b'second'], [ |
916 | @@ -174,19 +174,23 @@ |
917 | branch = builder.get_branch() |
918 | repo = self.make_repository('stacking-base') |
919 | trunk = repo.controldir.create_branch() |
920 | - trunk.repository.fetch(branch.repository, 'second') |
921 | + trunk.repository.fetch(branch.repository, b'second') |
922 | repo = self.make_repository('stacked') |
923 | stacked_branch = repo.controldir.create_branch() |
924 | stacked_branch.set_stacked_on_url(trunk.base) |
925 | - stacked_branch.repository.fetch(branch.repository, 'third') |
926 | + stacked_branch.repository.fetch(branch.repository, b'third') |
927 | target = self.make_to_repository('target') |
928 | +<<<<<<< TREE |
929 | try: |
930 | target.fetch(stacked_branch.repository, 'third') |
931 | except errors.NoRoundtrippingSupport: |
932 | raise TestNotApplicable('roundtripping not supported') |
933 | +======= |
934 | + target.fetch(stacked_branch.repository, b'third') |
935 | +>>>>>>> MERGE-SOURCE |
936 | target.lock_read() |
937 | self.addCleanup(target.unlock) |
938 | - all_revs = {'first', 'second', 'third'} |
939 | + all_revs = {b'first', b'second', b'third'} |
940 | self.assertEqual(all_revs, set(target.get_parent_map(all_revs))) |
941 | |
942 | def test_fetch_parent_inventories_at_stacking_boundary_smart(self): |
943 | |
944 | === modified file 'breezy/tests/per_intertree/test_compare.py' |
945 | --- breezy/tests/per_intertree/test_compare.py 2018-05-13 02:18:13 +0000 |
946 | +++ breezy/tests/per_intertree/test_compare.py 2018-06-21 23:03:57 +0000 |
947 | @@ -793,14 +793,14 @@ |
948 | tree1.mkdir('changing/unchanging', b'mid-id') |
949 | tree1.add(['changing/unchanging/file'], [b'file-id'], ['file']) |
950 | tree1.put_file_bytes_non_atomic( |
951 | - 'changing/unchanging/file', 'a file', file_id='file-id') |
952 | + 'changing/unchanging/file', b'a file', file_id=b'file-id') |
953 | tree2 = self.make_to_branch_and_tree('2') |
954 | tree2.set_root_id(tree1.get_root_id()) |
955 | tree2.mkdir('changed', b'parent-id') |
956 | tree2.mkdir('changed/unchanging', b'mid-id') |
957 | tree2.add(['changed/unchanging/file'], [b'file-id'], ['file']) |
958 | tree2.put_file_bytes_non_atomic( |
959 | - 'changed/unchanging/file', 'changed content', file_id=b'file-id') |
960 | + 'changed/unchanging/file', b'changed content', file_id=b'file-id') |
961 | tree1, tree2 = self.mutable_trees_to_test_trees(self, tree1, tree2) |
962 | # parent-id has changed, as has file-id |
963 | root_id = tree1.path2id('') |
964 | @@ -820,15 +820,15 @@ |
965 | tree1.mkdir('changed/unchanging', b'mid-id') |
966 | tree1.add(['changed/unchanging/file'], [b'file-id'], ['file']) |
967 | tree1.put_file_bytes_non_atomic( |
968 | - 'changed/unchanging/file', 'a file', |
969 | - 'file-id') |
970 | + 'changed/unchanging/file', b'a file', |
971 | + b'file-id') |
972 | tree2 = self.make_to_branch_and_tree('2') |
973 | tree2.set_root_id(b'new') |
974 | tree2.mkdir('changed', b'parent-id') |
975 | tree2.mkdir('changed/unchanging', b'mid-id') |
976 | tree2.add(['changed/unchanging/file'], [b'file-id'], ['file']) |
977 | tree2.put_file_bytes_non_atomic( |
978 | - 'changed/unchanging/file', 'changed content', file_id=b'file-id') |
979 | + 'changed/unchanging/file', b'changed content', file_id=b'file-id') |
980 | tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2) |
981 | # old is gone, new is added, parent-id has changed(reparented), as has |
982 | # file-id(content) |
983 | @@ -874,12 +874,12 @@ |
984 | # it must be emitted as a change. |
985 | tree1 = self.make_branch_and_tree('1') |
986 | tree1.add(['a'], [b'a-id'], ['file']) |
987 | - tree1.put_file_bytes_non_atomic('a', 'a file') |
988 | + tree1.put_file_bytes_non_atomic('a', b'a file') |
989 | tree2 = self.make_to_branch_and_tree('2') |
990 | tree2.set_root_id(tree1.get_root_id()) |
991 | tree2.mkdir('a', b'b-id') |
992 | tree2.add(['a/c'], [b'c-id'], ['file']) |
993 | - tree2.put_file_bytes_non_atomic('a/c', 'another file') |
994 | + tree2.put_file_bytes_non_atomic('a/c', b'another file') |
995 | tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2) |
996 | # a-id is gone, b-id and c-id are added. |
997 | self.assertEqualIterChanges( |
998 | @@ -900,7 +900,7 @@ |
999 | tree2.mkdir('a', b'a-new-id') |
1000 | tree2.mkdir('a/reparented', b'reparented-id') |
1001 | tree2.add(['b'], [b'a-old-id'], ['file']) |
1002 | - tree2.put_file_bytes_non_atomic('b', '') |
1003 | + tree2.put_file_bytes_non_atomic('b', b'') |
1004 | tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2) |
1005 | # a-old-id is kind-changed, a-new-id is added, reparented-id is renamed, |
1006 | # deleted-id is gone |
1007 | |
1008 | === modified file 'breezy/tests/per_pack_repository.py' |
1009 | --- breezy/tests/per_pack_repository.py 2018-05-27 18:00:21 +0000 |
1010 | +++ breezy/tests/per_pack_repository.py 2018-06-21 23:03:57 +0000 |
1011 | @@ -199,8 +199,8 @@ |
1012 | index = self.index_class(trans, 'pack-names', None) |
1013 | self.assertEqual(9, len(list(index.iter_all_entries()))) |
1014 | # insert some files in obsolete_packs which should be removed by pack. |
1015 | - trans.put_bytes('obsolete_packs/foo', '123') |
1016 | - trans.put_bytes('obsolete_packs/bar', '321') |
1017 | + trans.put_bytes('obsolete_packs/foo', b'123') |
1018 | + trans.put_bytes('obsolete_packs/bar', b'321') |
1019 | # committing one more should coalesce to 1 of 10. |
1020 | tree.commit('commit triggering pack') |
1021 | index = self.index_class(trans, 'pack-names', None) |
1022 | @@ -275,7 +275,7 @@ |
1023 | repo_transport = bzrdir.get_repository_transport(None) |
1024 | self.assertTrue(repo_transport.has('obsolete_packs')) |
1025 | # these files are in use by another client and typically can't be deleted |
1026 | - repo_transport.put_bytes('obsolete_packs/.nfsblahblah', 'contents') |
1027 | + repo_transport.put_bytes('obsolete_packs/.nfsblahblah', b'contents') |
1028 | repo._pack_collection._clear_obsolete_packs() |
1029 | self.assertTrue(repo_transport.has('obsolete_packs/.nfsblahblah')) |
1030 | |
1031 | |
1032 | === modified file 'breezy/tests/per_repository/test_commit_builder.py' |
1033 | --- breezy/tests/per_repository/test_commit_builder.py 2018-05-05 15:49:41 +0000 |
1034 | +++ breezy/tests/per_repository/test_commit_builder.py 2018-06-21 23:03:57 +0000 |
1035 | @@ -556,7 +556,7 @@ |
1036 | tree = self.make_branch_and_tree('.') |
1037 | self.build_tree(['file']) |
1038 | def change_file(): |
1039 | - tree.put_file_bytes_non_atomic('file', 'new content') |
1040 | + tree.put_file_bytes_non_atomic('file', b'new content') |
1041 | self._add_commit_change_check_changed(tree, ('file', 'file'), change_file, |
1042 | expect_fs_hash=True) |
1043 | |
1044 | |
1045 | === modified file 'breezy/tests/per_repository/test_repository.py' |
1046 | --- breezy/tests/per_repository/test_repository.py 2018-06-15 13:10:28 +0000 |
1047 | +++ breezy/tests/per_repository/test_repository.py 2018-06-21 23:03:57 +0000 |
1048 | @@ -44,6 +44,7 @@ |
1049 | ) |
1050 | from ...sixish import ( |
1051 | BytesIO, |
1052 | + text_type, |
1053 | ) |
1054 | from .. import ( |
1055 | per_repository, |
1056 | @@ -416,7 +417,7 @@ |
1057 | self.assertEqual(rev.message, message) |
1058 | # insist the class is unicode no matter what came in for |
1059 | # consistency. |
1060 | - self.assertIsInstance(rev.message, unicode) |
1061 | + self.assertIsInstance(rev.message, text_type) |
1062 | |
1063 | def test_commit_unicode_message(self): |
1064 | # a siple unicode message should be preserved |
1065 | |
1066 | === modified file 'breezy/tests/per_repository_reference/test_fetch.py' |
1067 | --- breezy/tests/per_repository_reference/test_fetch.py 2018-05-22 02:05:12 +0000 |
1068 | +++ breezy/tests/per_repository_reference/test_fetch.py 2018-06-21 23:03:57 +0000 |
1069 | @@ -61,25 +61,25 @@ |
1070 | # Use 'make_branch' which gives us a bzr:// branch when appropriate, |
1071 | # rather than creating a branch-on-disk |
1072 | stack_b = self.make_branch('stack-on') |
1073 | - stack_b.pull(source_b, stop_revision='B-id') |
1074 | + stack_b.pull(source_b, stop_revision=b'B-id') |
1075 | target_b = self.make_branch('target') |
1076 | target_b.set_stacked_on_url('../stack-on') |
1077 | - target_b.pull(source_b, stop_revision='C-id') |
1078 | + target_b.pull(source_b, stop_revision=b'C-id') |
1079 | # At this point, we should have a target branch, with 1 revision, on |
1080 | # top of the source. |
1081 | final_b = self.make_branch('final') |
1082 | final_b.pull(target_b) |
1083 | final_b.lock_read() |
1084 | self.addCleanup(final_b.unlock) |
1085 | - self.assertEqual('C-id', final_b.last_revision()) |
1086 | - text_keys = [('a-id', 'A-id'), ('a-id', 'B-id'), ('a-id', 'C-id')] |
1087 | + self.assertEqual(b'C-id', final_b.last_revision()) |
1088 | + text_keys = [(b'a-id', b'A-id'), (b'a-id', b'B-id'), (b'a-id', b'C-id')] |
1089 | stream = final_b.repository.texts.get_record_stream(text_keys, |
1090 | 'unordered', True) |
1091 | records = sorted([(r.key, r.get_bytes_as('fulltext')) for r in stream]) |
1092 | self.assertEqual([ |
1093 | - (('a-id', 'A-id'), ''.join(content[:-2])), |
1094 | - (('a-id', 'B-id'), ''.join(content[:-1])), |
1095 | - (('a-id', 'C-id'), ''.join(content)), |
1096 | + ((b'a-id', b'A-id'), b''.join(content[:-2])), |
1097 | + ((b'a-id', b'B-id'), b''.join(content[:-1])), |
1098 | + ((b'a-id', b'C-id'), b''.join(content)), |
1099 | ], records) |
1100 | |
1101 | def test_sprout_from_smart_stacked_with_short_history(self): |
1102 | @@ -97,7 +97,7 @@ |
1103 | target_bzrdir.create_repository() |
1104 | target_b = target_bzrdir.create_branch() |
1105 | target_b.set_stacked_on_url('../stack-on') |
1106 | - target_b.pull(source_b, stop_revision='C-id') |
1107 | + target_b.pull(source_b, stop_revision=b'C-id') |
1108 | # Now we should be able to branch from the remote location to a local |
1109 | # location |
1110 | final_b = target_b.controldir.sprout('final').open_branch() |
1111 | @@ -114,16 +114,16 @@ |
1112 | builder = self.make_branch_builder('source') |
1113 | builder.start_series() |
1114 | builder.build_snapshot(None, [ |
1115 | - ('add', ('', 'root-id', 'directory', None)), |
1116 | - ('add', ('file', 'file-id', 'file', 'content\n'))], |
1117 | + ('add', ('', b'root-id', 'directory', None)), |
1118 | + ('add', ('file', b'file-id', 'file', b'content\n'))], |
1119 | revision_id=b'A-id') |
1120 | - builder.build_snapshot(['A-id', 'ghost-id'], [], revision_id=b'B-id') |
1121 | + builder.build_snapshot([b'A-id', b'ghost-id'], [], revision_id=b'B-id') |
1122 | builder.finish_series() |
1123 | source_b = builder.get_branch() |
1124 | source_b.lock_read() |
1125 | self.addCleanup(source_b.unlock) |
1126 | base = self.make_branch('base') |
1127 | - base.pull(source_b, stop_revision='A-id') |
1128 | + base.pull(source_b, stop_revision=b'A-id') |
1129 | stacked = self.make_branch('stacked') |
1130 | stacked.set_stacked_on_url('../base') |
1131 | return source_b, base, stacked |
1132 | @@ -131,7 +131,7 @@ |
1133 | def test_fetch_with_ghost_stacked(self): |
1134 | (source_b, base, |
1135 | stacked) = self.make_source_with_ghost_and_stacked_target() |
1136 | - stacked.pull(source_b, stop_revision='B-id') |
1137 | + stacked.pull(source_b, stop_revision=b'B-id') |
1138 | |
1139 | def test_fetch_into_smart_stacked_with_ghost(self): |
1140 | (source_b, base, |
1141 | @@ -142,7 +142,7 @@ |
1142 | stacked = branch.Branch.open(trans.base) |
1143 | stacked.lock_write() |
1144 | self.addCleanup(stacked.unlock) |
1145 | - stacked.pull(source_b, stop_revision='B-id') |
1146 | + stacked.pull(source_b, stop_revision=b'B-id') |
1147 | |
1148 | def test_fetch_to_stacked_from_smart_with_ghost(self): |
1149 | (source_b, base, |
1150 | @@ -153,7 +153,7 @@ |
1151 | source_b = branch.Branch.open(trans.base) |
1152 | source_b.lock_read() |
1153 | self.addCleanup(source_b.unlock) |
1154 | - stacked.pull(source_b, stop_revision='B-id') |
1155 | + stacked.pull(source_b, stop_revision=b'B-id') |
1156 | |
1157 | |
1158 | class TestFetchFromRepoWithUnconfiguredFallbacks(TestFetchBase): |
1159 | @@ -163,10 +163,10 @@ |
1160 | # Use 'make_branch' which gives us a bzr:// branch when appropriate, |
1161 | # rather than creating a branch-on-disk |
1162 | stack_b = self.make_branch('stack-on') |
1163 | - stack_b.pull(source_b, stop_revision='B-id') |
1164 | + stack_b.pull(source_b, stop_revision=b'B-id') |
1165 | stacked_b = self.make_branch('stacked') |
1166 | stacked_b.set_stacked_on_url('../stack-on') |
1167 | - stacked_b.pull(source_b, stop_revision='C-id') |
1168 | + stacked_b.pull(source_b, stop_revision=b'C-id') |
1169 | return stacked_b.repository |
1170 | |
1171 | def test_fetch_everything_includes_parent_invs(self): |
1172 | @@ -182,9 +182,9 @@ |
1173 | target.revisions.keys()) |
1174 | self.assertEqual(repo_missing_fallbacks.inventories.keys(), |
1175 | target.inventories.keys()) |
1176 | - self.assertEqual(['C-id'], |
1177 | + self.assertEqual([b'C-id'], |
1178 | sorted(k[-1] for k in target.revisions.keys())) |
1179 | - self.assertEqual(['B-id', 'C-id'], |
1180 | + self.assertEqual([b'B-id', b'C-id'], |
1181 | sorted(k[-1] for k in target.inventories.keys())) |
1182 | |
1183 | |
1184 | |
1185 | === modified file 'breezy/tests/per_repository_reference/test_graph.py' |
1186 | --- breezy/tests/per_repository_reference/test_graph.py 2018-05-22 02:05:12 +0000 |
1187 | +++ breezy/tests/per_repository_reference/test_graph.py 2018-06-21 23:03:57 +0000 |
1188 | @@ -57,19 +57,19 @@ |
1189 | builder = self.make_branch_builder('source') |
1190 | builder.start_series() |
1191 | builder.build_snapshot(None, [ |
1192 | - ('add', ('', 'directory', 'root-id', None))], |
1193 | + ('add', ('', 'directory', b'root-id', None))], |
1194 | revision_id=b'A') |
1195 | - builder.build_snapshot(['A'], [], revision_id=b'B') |
1196 | - builder.build_snapshot(['B'], [], revision_id=b'C') |
1197 | - builder.build_snapshot(['C'], [], revision_id=b'D') |
1198 | - builder.build_snapshot(['D'], [], revision_id=b'E') |
1199 | - builder.build_snapshot(['E'], [], revision_id=b'F') |
1200 | + builder.build_snapshot([b'A'], [], revision_id=b'B') |
1201 | + builder.build_snapshot([b'B'], [], revision_id=b'C') |
1202 | + builder.build_snapshot([b'C'], [], revision_id=b'D') |
1203 | + builder.build_snapshot([b'D'], [], revision_id=b'E') |
1204 | + builder.build_snapshot([b'E'], [], revision_id=b'F') |
1205 | source_b = builder.get_branch() |
1206 | master_b = self.make_branch('master') |
1207 | - master_b.pull(source_b, stop_revision='E') |
1208 | + master_b.pull(source_b, stop_revision=b'E') |
1209 | stacked_b = self.make_branch('stacked') |
1210 | stacked_b.set_stacked_on_url('../master') |
1211 | - stacked_b.pull(source_b, stop_revision='F') |
1212 | + stacked_b.pull(source_b, stop_revision=b'F') |
1213 | builder.finish_series() |
1214 | return master_b, stacked_b |
1215 | |
1216 | |
1217 | === modified file 'breezy/tests/per_repository_reference/test_unlock.py' |
1218 | --- breezy/tests/per_repository_reference/test_unlock.py 2018-05-22 02:05:12 +0000 |
1219 | +++ breezy/tests/per_repository_reference/test_unlock.py 2018-06-21 23:03:57 +0000 |
1220 | @@ -35,24 +35,24 @@ |
1221 | if not repo._format.supports_external_lookups: |
1222 | raise tests.TestNotApplicable('format does not support stacking') |
1223 | builder.build_snapshot(None, [ |
1224 | - ('add', ('', 'root-id', 'directory', None)), |
1225 | - ('add', ('file', 'file-id', 'file', 'contents\n'))], |
1226 | + ('add', ('', b'root-id', 'directory', None)), |
1227 | + ('add', ('file', b'file-id', 'file', b'contents\n'))], |
1228 | revision_id=b'A-id') |
1229 | - builder.build_snapshot(['A-id'], [ |
1230 | - ('modify', ('file', 'new-content\n'))], |
1231 | + builder.build_snapshot([b'A-id'], [ |
1232 | + ('modify', ('file', b'new-content\n'))], |
1233 | revision_id=b'B-id') |
1234 | - builder.build_snapshot(['B-id'], [ |
1235 | - ('modify', ('file', 'yet more content\n'))], |
1236 | + builder.build_snapshot([b'B-id'], [ |
1237 | + ('modify', ('file', b'yet more content\n'))], |
1238 | revision_id=b'C-id') |
1239 | builder.finish_series() |
1240 | source_b = builder.get_branch() |
1241 | source_b.lock_read() |
1242 | self.addCleanup(source_b.unlock) |
1243 | base = self.make_branch('base') |
1244 | - base.pull(source_b, stop_revision='B-id') |
1245 | + base.pull(source_b, stop_revision=b'B-id') |
1246 | stacked = self.make_branch('stacked') |
1247 | stacked.set_stacked_on_url('../base') |
1248 | - stacked.pull(source_b, stop_revision='C-id') |
1249 | + stacked.pull(source_b, stop_revision=b'C-id') |
1250 | |
1251 | return base, stacked |
1252 | |
1253 | |
1254 | === modified file 'breezy/tests/per_repository_vf/test_check_reconcile.py' |
1255 | --- breezy/tests/per_repository_vf/test_check_reconcile.py 2017-06-08 23:30:31 +0000 |
1256 | +++ breezy/tests/per_repository_vf/test_check_reconcile.py 2018-06-21 23:03:57 +0000 |
1257 | @@ -99,10 +99,10 @@ |
1258 | """ |
1259 | |
1260 | def all_versions_after_reconcile(self): |
1261 | - return ('rev1a', ) |
1262 | + return (b'rev1a', ) |
1263 | |
1264 | def populated_parents(self): |
1265 | - return (((), 'rev1a'), ) |
1266 | + return (((), b'rev1a'), ) |
1267 | |
1268 | def corrected_parents(self): |
1269 | # Same as the populated parents, because there was nothing wrong. |
1270 | @@ -114,22 +114,22 @@ |
1271 | def populate_repository(self, repo): |
1272 | # make rev1a: A well-formed revision, containing 'a-file' |
1273 | inv = self.make_one_file_inventory( |
1274 | - repo, 'rev1a', [], root_revision='rev1a') |
1275 | - self.add_revision(repo, 'rev1a', inv, []) |
1276 | + repo, b'rev1a', [], root_revision=b'rev1a') |
1277 | + self.add_revision(repo, b'rev1a', inv, []) |
1278 | self.versioned_root = repo.supports_rich_root() |
1279 | |
1280 | def repository_text_key_references(self): |
1281 | result = {} |
1282 | if self.versioned_root: |
1283 | - result.update({('TREE_ROOT', 'rev1a'): True}) |
1284 | - result.update({('a-file-id', 'rev1a'): True}) |
1285 | + result.update({(b'TREE_ROOT', b'rev1a'): True}) |
1286 | + result.update({(b'a-file-id', b'rev1a'): True}) |
1287 | return result |
1288 | |
1289 | def repository_text_keys(self): |
1290 | - return {('a-file-id', 'rev1a'):[NULL_REVISION]} |
1291 | + return {(b'a-file-id', b'rev1a'):[NULL_REVISION]} |
1292 | |
1293 | def versioned_repository_text_keys(self): |
1294 | - return {('TREE_ROOT', 'rev1a'):[NULL_REVISION]} |
1295 | + return {(b'TREE_ROOT', b'rev1a'):[NULL_REVISION]} |
1296 | |
1297 | |
1298 | class FileParentIsNotInRevisionAncestryScenario(BrokenRepoScenario): |
1299 | @@ -164,39 +164,39 @@ |
1300 | def populate_repository(self, repo): |
1301 | # make rev1a: A well-formed revision, containing 'a-file' |
1302 | inv = self.make_one_file_inventory( |
1303 | - repo, 'rev1a', [], root_revision='rev1a') |
1304 | - self.add_revision(repo, 'rev1a', inv, []) |
1305 | + repo, b'rev1a', [], root_revision=b'rev1a') |
1306 | + self.add_revision(repo, b'rev1a', inv, []) |
1307 | |
1308 | # make rev1b, which has no Revision, but has an Inventory, and |
1309 | # a-file |
1310 | inv = self.make_one_file_inventory( |
1311 | - repo, 'rev1b', [], root_revision='rev1b') |
1312 | - repo.add_inventory('rev1b', inv, []) |
1313 | + repo, b'rev1b', [], root_revision=b'rev1b') |
1314 | + repo.add_inventory(b'rev1b', inv, []) |
1315 | |
1316 | # make rev2, with a-file. |
1317 | # a-file has 'rev1b' as an ancestor, even though this is not |
1318 | # mentioned by 'rev1a', making it an unreferenced ancestor |
1319 | inv = self.make_one_file_inventory( |
1320 | - repo, 'rev2', ['rev1a', 'rev1b']) |
1321 | - self.add_revision(repo, 'rev2', inv, ['rev1a']) |
1322 | + repo, b'rev2', [b'rev1a', b'rev1b']) |
1323 | + self.add_revision(repo, b'rev2', inv, [b'rev1a']) |
1324 | self.versioned_root = repo.supports_rich_root() |
1325 | |
1326 | def repository_text_key_references(self): |
1327 | result = {} |
1328 | if self.versioned_root: |
1329 | - result.update({('TREE_ROOT', 'rev1a'): True, |
1330 | - ('TREE_ROOT', 'rev2'): True}) |
1331 | - result.update({('a-file-id', 'rev1a'): True, |
1332 | - ('a-file-id', 'rev2'): True}) |
1333 | + result.update({(b'TREE_ROOT', b'rev1a'): True, |
1334 | + (b'TREE_ROOT', b'rev2'): True}) |
1335 | + result.update({(b'a-file-id', b'rev1a'): True, |
1336 | + (b'a-file-id', b'rev2'): True}) |
1337 | return result |
1338 | |
1339 | def repository_text_keys(self): |
1340 | - return {('a-file-id', 'rev1a'):[NULL_REVISION], |
1341 | - ('a-file-id', 'rev2'):[('a-file-id', 'rev1a')]} |
1342 | + return {(b'a-file-id', b'rev1a'):[NULL_REVISION], |
1343 | + (b'a-file-id', b'rev2'):[(b'a-file-id', b'rev1a')]} |
1344 | |
1345 | def versioned_repository_text_keys(self): |
1346 | - return {('TREE_ROOT', 'rev1a'):[NULL_REVISION], |
1347 | - ('TREE_ROOT', 'rev2'):[('TREE_ROOT', 'rev1a')]} |
1348 | + return {(b'TREE_ROOT', b'rev1a'):[NULL_REVISION], |
1349 | + (b'TREE_ROOT', b'rev2'):[(b'TREE_ROOT', b'rev1a')]} |
1350 | |
1351 | |
1352 | class FileParentHasInaccessibleInventoryScenario(BrokenRepoScenario): |
1353 | @@ -327,15 +327,15 @@ |
1354 | def populate_repository(self, repo): |
1355 | # make rev1a: A well-formed revision, containing 'a-file' |
1356 | inv = self.make_one_file_inventory( |
1357 | - repo, 'rev1a', [], root_revision='rev1a') |
1358 | - self.add_revision(repo, 'rev1a', inv, []) |
1359 | + repo, b'rev1a', [], root_revision=b'rev1a') |
1360 | + self.add_revision(repo, b'rev1a', inv, []) |
1361 | |
1362 | # make rev2, with a-file. |
1363 | # a-file is unmodified from rev1a, and an unreferenced rev2 file |
1364 | # version is present in the repository. |
1365 | self.make_one_file_inventory( |
1366 | - repo, 'rev2', ['rev1a'], inv_revision='rev1a') |
1367 | - self.add_revision(repo, 'rev2', inv, ['rev1a']) |
1368 | + repo, b'rev2', [b'rev1a'], inv_revision=b'rev1a') |
1369 | + self.add_revision(repo, b'rev2', inv, [b'rev1a']) |
1370 | |
1371 | # make rev3 with a-file |
1372 | # a-file has 'rev2' as its ancestor, but the revision in 'rev2' was |
1373 | @@ -344,8 +344,8 @@ |
1374 | # ghost, so only the details from rev1a are available for |
1375 | # determining whether a delta is acceptable, or a full is needed, |
1376 | # and what the correct parents are. |
1377 | - inv = self.make_one_file_inventory(repo, 'rev3', ['rev2']) |
1378 | - self.add_revision(repo, 'rev3', inv, ['rev1c', 'rev1a']) |
1379 | + inv = self.make_one_file_inventory(repo, b'rev3', [b'rev2']) |
1380 | + self.add_revision(repo, b'rev3', inv, [b'rev1c', b'rev1a']) |
1381 | |
1382 | # In rev2b, the true last-modifying-revision of a-file is rev1a, |
1383 | # inherited from rev2, but there is a version rev2b of the file, which |
1384 | @@ -354,8 +354,8 @@ |
1385 | # a-file-rev2b. |
1386 | # ??? This is to test deduplication in fixing rev4 |
1387 | inv = self.make_one_file_inventory( |
1388 | - repo, 'rev2b', ['rev1a'], inv_revision='rev1a') |
1389 | - self.add_revision(repo, 'rev2b', inv, ['rev1a']) |
1390 | + repo, b'rev2b', [b'rev1a'], inv_revision=b'rev1a') |
1391 | + self.add_revision(repo, b'rev2b', inv, [b'rev1a']) |
1392 | |
1393 | # rev4 is for testing that when the last modified of a file in |
1394 | # multiple parent revisions is the same, that it only appears once |
1395 | @@ -365,13 +365,13 @@ |
1396 | # a-file, and is a merge of rev2 and rev2b, so it should end up with |
1397 | # a parent of just rev1a - the starting file parents list is simply |
1398 | # completely wrong. |
1399 | - inv = self.make_one_file_inventory(repo, 'rev4', ['rev2']) |
1400 | - self.add_revision(repo, 'rev4', inv, ['rev2', 'rev2b']) |
1401 | + inv = self.make_one_file_inventory(repo, b'rev4', [b'rev2']) |
1402 | + self.add_revision(repo, b'rev4', inv, [b'rev2', b'rev2b']) |
1403 | |
1404 | # rev2c changes a-file from rev1a, so the version it of a-file it |
1405 | # introduces is a head revision when rev5 is checked. |
1406 | - inv = self.make_one_file_inventory(repo, 'rev2c', ['rev1a']) |
1407 | - self.add_revision(repo, 'rev2c', inv, ['rev1a']) |
1408 | + inv = self.make_one_file_inventory(repo, b'rev2c', [b'rev1a']) |
1409 | + self.add_revision(repo, b'rev2c', inv, [b'rev1a']) |
1410 | |
1411 | # rev5 descends from rev2 and rev2c; as rev2 does not alter a-file, |
1412 | # but rev2c does, this should use rev2c as the parent for the per |
1413 | @@ -379,44 +379,44 @@ |
1414 | # available, because we use the heads of the revision parents for |
1415 | # the inventory modification revisions of the file to determine the |
1416 | # parents for the per file graph. |
1417 | - inv = self.make_one_file_inventory(repo, 'rev5', ['rev2', 'rev2c']) |
1418 | - self.add_revision(repo, 'rev5', inv, ['rev2', 'rev2c']) |
1419 | + inv = self.make_one_file_inventory(repo, b'rev5', [b'rev2', b'rev2c']) |
1420 | + self.add_revision(repo, b'rev5', inv, [b'rev2', b'rev2c']) |
1421 | self.versioned_root = repo.supports_rich_root() |
1422 | |
1423 | def repository_text_key_references(self): |
1424 | result = {} |
1425 | if self.versioned_root: |
1426 | - result.update({('TREE_ROOT', 'rev1a'): True, |
1427 | - ('TREE_ROOT', 'rev2'): True, |
1428 | - ('TREE_ROOT', 'rev2b'): True, |
1429 | - ('TREE_ROOT', 'rev2c'): True, |
1430 | - ('TREE_ROOT', 'rev3'): True, |
1431 | - ('TREE_ROOT', 'rev4'): True, |
1432 | - ('TREE_ROOT', 'rev5'): True}) |
1433 | - result.update({('a-file-id', 'rev1a'): True, |
1434 | - ('a-file-id', 'rev2c'): True, |
1435 | - ('a-file-id', 'rev3'): True, |
1436 | - ('a-file-id', 'rev4'): True, |
1437 | - ('a-file-id', 'rev5'): True}) |
1438 | + result.update({(b'TREE_ROOT', b'rev1a'): True, |
1439 | + (b'TREE_ROOT', b'rev2'): True, |
1440 | + (b'TREE_ROOT', b'rev2b'): True, |
1441 | + (b'TREE_ROOT', b'rev2c'): True, |
1442 | + (b'TREE_ROOT', b'rev3'): True, |
1443 | + (b'TREE_ROOT', b'rev4'): True, |
1444 | + (b'TREE_ROOT', b'rev5'): True}) |
1445 | + result.update({(b'a-file-id', b'rev1a'): True, |
1446 | + (b'a-file-id', b'rev2c'): True, |
1447 | + (b'a-file-id', b'rev3'): True, |
1448 | + (b'a-file-id', b'rev4'): True, |
1449 | + (b'a-file-id', b'rev5'): True}) |
1450 | return result |
1451 | |
1452 | def repository_text_keys(self): |
1453 | - return {('a-file-id', 'rev1a'): [NULL_REVISION], |
1454 | - ('a-file-id', 'rev2c'): [('a-file-id', 'rev1a')], |
1455 | - ('a-file-id', 'rev3'): [('a-file-id', 'rev1a')], |
1456 | - ('a-file-id', 'rev4'): [('a-file-id', 'rev1a')], |
1457 | - ('a-file-id', 'rev5'): [('a-file-id', 'rev2c')]} |
1458 | + return {(b'a-file-id', b'rev1a'): [NULL_REVISION], |
1459 | + (b'a-file-id', b'rev2c'): [(b'a-file-id', b'rev1a')], |
1460 | + (b'a-file-id', b'rev3'): [(b'a-file-id', b'rev1a')], |
1461 | + (b'a-file-id', b'rev4'): [(b'a-file-id', b'rev1a')], |
1462 | + (b'a-file-id', b'rev5'): [(b'a-file-id', b'rev2c')]} |
1463 | |
1464 | def versioned_repository_text_keys(self): |
1465 | - return {('TREE_ROOT', 'rev1a'): [NULL_REVISION], |
1466 | - ('TREE_ROOT', 'rev2'): [('TREE_ROOT', 'rev1a')], |
1467 | - ('TREE_ROOT', 'rev2b'): [('TREE_ROOT', 'rev1a')], |
1468 | - ('TREE_ROOT', 'rev2c'): [('TREE_ROOT', 'rev1a')], |
1469 | - ('TREE_ROOT', 'rev3'): [('TREE_ROOT', 'rev1a')], |
1470 | - ('TREE_ROOT', 'rev4'): |
1471 | - [('TREE_ROOT', 'rev2'), ('TREE_ROOT', 'rev2b')], |
1472 | - ('TREE_ROOT', 'rev5'): |
1473 | - [('TREE_ROOT', 'rev2'), ('TREE_ROOT', 'rev2c')]} |
1474 | + return {(b'TREE_ROOT', b'rev1a'): [NULL_REVISION], |
1475 | + (b'TREE_ROOT', b'rev2'): [(b'TREE_ROOT', b'rev1a')], |
1476 | + (b'TREE_ROOT', b'rev2b'): [(b'TREE_ROOT', b'rev1a')], |
1477 | + (b'TREE_ROOT', b'rev2c'): [(b'TREE_ROOT', b'rev1a')], |
1478 | + (b'TREE_ROOT', b'rev3'): [(b'TREE_ROOT', b'rev1a')], |
1479 | + (b'TREE_ROOT', b'rev4'): |
1480 | + [(b'TREE_ROOT', b'rev2'), (b'TREE_ROOT', b'rev2b')], |
1481 | + (b'TREE_ROOT', b'rev5'): |
1482 | + [(b'TREE_ROOT', b'rev2'), (b'TREE_ROOT', b'rev2c')]} |
1483 | |
1484 | |
1485 | class UnreferencedFileParentsFromNoOpMergeScenario(BrokenRepoScenario): |
1486 | @@ -427,28 +427,28 @@ |
1487 | """ |
1488 | |
1489 | def all_versions_after_reconcile(self): |
1490 | - return ('rev1a', 'rev1b', 'rev2', 'rev4') |
1491 | + return (b'rev1a', b'rev1b', b'rev2', b'rev4') |
1492 | |
1493 | def populated_parents(self): |
1494 | return ( |
1495 | - ((), 'rev1a'), |
1496 | - ((), 'rev1b'), |
1497 | - (('rev1a', 'rev1b'), 'rev2'), |
1498 | - (None, 'rev3'), |
1499 | - (('rev2',), 'rev4'), |
1500 | + ((), b'rev1a'), |
1501 | + ((), b'rev1b'), |
1502 | + ((b'rev1a', b'rev1b'), b'rev2'), |
1503 | + (None, b'rev3'), |
1504 | + ((b'rev2',), b'rev4'), |
1505 | ) |
1506 | |
1507 | def corrected_parents(self): |
1508 | return ( |
1509 | - ((), 'rev1a'), |
1510 | - ((), 'rev1b'), |
1511 | - ((), 'rev2'), |
1512 | - (None, 'rev3'), |
1513 | - (('rev2',), 'rev4'), |
1514 | + ((), b'rev1a'), |
1515 | + ((), b'rev1b'), |
1516 | + ((), b'rev2'), |
1517 | + (None, b'rev3'), |
1518 | + ((b'rev2',), b'rev4'), |
1519 | ) |
1520 | |
1521 | def corrected_fulltexts(self): |
1522 | - return ['rev2'] |
1523 | + return [b'rev2'] |
1524 | |
1525 | def check_regexes(self, repo): |
1526 | return [] |
1527 | @@ -456,65 +456,66 @@ |
1528 | def populate_repository(self, repo): |
1529 | # make rev1a: A well-formed revision, containing 'a-file' |
1530 | inv1a = self.make_one_file_inventory( |
1531 | - repo, 'rev1a', [], root_revision='rev1a') |
1532 | - self.add_revision(repo, 'rev1a', inv1a, []) |
1533 | + repo, b'rev1a', [], root_revision=b'rev1a') |
1534 | + self.add_revision(repo, b'rev1a', inv1a, []) |
1535 | |
1536 | # make rev1b: A well-formed revision, containing 'a-file' |
1537 | # rev1b of a-file has the exact same contents as rev1a. |
1538 | - file_contents = repo.texts.get_record_stream([('a-file-id', 'rev1a')], |
1539 | - "unordered", False).next().get_bytes_as('fulltext') |
1540 | + file_contents = next( |
1541 | + repo.texts.get_record_stream([(b'a-file-id', b'rev1a')], |
1542 | + "unordered", False)).get_bytes_as('fulltext') |
1543 | inv = self.make_one_file_inventory( |
1544 | - repo, 'rev1b', [], root_revision='rev1b', |
1545 | + repo, b'rev1b', [], root_revision=b'rev1b', |
1546 | file_contents=file_contents) |
1547 | - self.add_revision(repo, 'rev1b', inv, []) |
1548 | + self.add_revision(repo, b'rev1b', inv, []) |
1549 | |
1550 | # make rev2, a merge of rev1a and rev1b, with a-file. |
1551 | # a-file is unmodified from rev1a and rev1b, but a new version is |
1552 | # wrongly present anyway. |
1553 | inv = self.make_one_file_inventory( |
1554 | - repo, 'rev2', ['rev1a', 'rev1b'], inv_revision='rev1a', |
1555 | + repo, b'rev2', [b'rev1a', b'rev1b'], inv_revision=b'rev1a', |
1556 | file_contents=file_contents) |
1557 | - self.add_revision(repo, 'rev2', inv, ['rev1a', 'rev1b']) |
1558 | + self.add_revision(repo, b'rev2', inv, [b'rev1a', b'rev1b']) |
1559 | |
1560 | # rev3: a-file unchanged from rev2, but wrongly referencing rev2 of the |
1561 | # file in its inventory. |
1562 | inv = self.make_one_file_inventory( |
1563 | - repo, 'rev3', ['rev2'], inv_revision='rev2', |
1564 | + repo, b'rev3', [b'rev2'], inv_revision=b'rev2', |
1565 | file_contents=file_contents, make_file_version=False) |
1566 | - self.add_revision(repo, 'rev3', inv, ['rev2']) |
1567 | + self.add_revision(repo, b'rev3', inv, [b'rev2']) |
1568 | |
1569 | # rev4: a modification of a-file on top of rev3. |
1570 | - inv = self.make_one_file_inventory(repo, 'rev4', ['rev2']) |
1571 | - self.add_revision(repo, 'rev4', inv, ['rev3']) |
1572 | + inv = self.make_one_file_inventory(repo, b'rev4', [b'rev2']) |
1573 | + self.add_revision(repo, b'rev4', inv, [b'rev3']) |
1574 | self.versioned_root = repo.supports_rich_root() |
1575 | |
1576 | def repository_text_key_references(self): |
1577 | result = {} |
1578 | if self.versioned_root: |
1579 | - result.update({('TREE_ROOT', 'rev1a'): True, |
1580 | - ('TREE_ROOT', 'rev1b'): True, |
1581 | - ('TREE_ROOT', 'rev2'): True, |
1582 | - ('TREE_ROOT', 'rev3'): True, |
1583 | - ('TREE_ROOT', 'rev4'): True}) |
1584 | - result.update({('a-file-id', 'rev1a'): True, |
1585 | - ('a-file-id', 'rev1b'): True, |
1586 | - ('a-file-id', 'rev2'): False, |
1587 | - ('a-file-id', 'rev4'): True}) |
1588 | + result.update({(b'TREE_ROOT', b'rev1a'): True, |
1589 | + (b'TREE_ROOT', b'rev1b'): True, |
1590 | + (b'TREE_ROOT', b'rev2'): True, |
1591 | + (b'TREE_ROOT', b'rev3'): True, |
1592 | + (b'TREE_ROOT', b'rev4'): True}) |
1593 | + result.update({(b'a-file-id', b'rev1a'): True, |
1594 | + (b'a-file-id', b'rev1b'): True, |
1595 | + (b'a-file-id', b'rev2'): False, |
1596 | + (b'a-file-id', b'rev4'): True}) |
1597 | return result |
1598 | |
1599 | def repository_text_keys(self): |
1600 | - return {('a-file-id', 'rev1a'): [NULL_REVISION], |
1601 | - ('a-file-id', 'rev1b'): [NULL_REVISION], |
1602 | - ('a-file-id', 'rev2'): [NULL_REVISION], |
1603 | - ('a-file-id', 'rev4'): [('a-file-id', 'rev2')]} |
1604 | + return {(b'a-file-id', b'rev1a'): [NULL_REVISION], |
1605 | + (b'a-file-id', b'rev1b'): [NULL_REVISION], |
1606 | + (b'a-file-id', b'rev2'): [NULL_REVISION], |
1607 | + (b'a-file-id', b'rev4'): [(b'a-file-id', b'rev2')]} |
1608 | |
1609 | def versioned_repository_text_keys(self): |
1610 | - return {('TREE_ROOT', 'rev1a'): [NULL_REVISION], |
1611 | - ('TREE_ROOT', 'rev1b'): [NULL_REVISION], |
1612 | - ('TREE_ROOT', 'rev2'): |
1613 | - [('TREE_ROOT', 'rev1a'), ('TREE_ROOT', 'rev1b')], |
1614 | - ('TREE_ROOT', 'rev3'): [('TREE_ROOT', 'rev2')], |
1615 | - ('TREE_ROOT', 'rev4'): [('TREE_ROOT', 'rev3')]} |
1616 | + return {(b'TREE_ROOT', b'rev1a'): [NULL_REVISION], |
1617 | + (b'TREE_ROOT', b'rev1b'): [NULL_REVISION], |
1618 | + (b'TREE_ROOT', b'rev2'): |
1619 | + [(b'TREE_ROOT', b'rev1a'), (b'TREE_ROOT', b'rev1b')], |
1620 | + (b'TREE_ROOT', b'rev3'): [(b'TREE_ROOT', b'rev2')], |
1621 | + (b'TREE_ROOT', b'rev4'): [(b'TREE_ROOT', b'rev3')]} |
1622 | |
1623 | |
1624 | class TooManyParentsScenario(BrokenRepoScenario): |
1625 | @@ -525,19 +526,19 @@ |
1626 | """ |
1627 | |
1628 | def all_versions_after_reconcile(self): |
1629 | - return ('bad-parent', 'good-parent', 'broken-revision') |
1630 | + return (b'bad-parent', b'good-parent', b'broken-revision') |
1631 | |
1632 | def populated_parents(self): |
1633 | return ( |
1634 | - ((), 'bad-parent'), |
1635 | - (('bad-parent',), 'good-parent'), |
1636 | - (('good-parent', 'bad-parent'), 'broken-revision')) |
1637 | + ((), b'bad-parent'), |
1638 | + ((b'bad-parent',), b'good-parent'), |
1639 | + ((b'good-parent', b'bad-parent'), b'broken-revision')) |
1640 | |
1641 | def corrected_parents(self): |
1642 | return ( |
1643 | - ((), 'bad-parent'), |
1644 | - (('bad-parent',), 'good-parent'), |
1645 | - (('good-parent',), 'broken-revision')) |
1646 | + ((), b'bad-parent'), |
1647 | + ((b'bad-parent',), b'good-parent'), |
1648 | + ((b'good-parent',), b'broken-revision')) |
1649 | |
1650 | def check_regexes(self, repo): |
1651 | if repo.supports_rich_root(): |
1652 | @@ -554,40 +555,40 @@ |
1653 | |
1654 | def populate_repository(self, repo): |
1655 | inv = self.make_one_file_inventory( |
1656 | - repo, 'bad-parent', (), root_revision='bad-parent') |
1657 | - self.add_revision(repo, 'bad-parent', inv, ()) |
1658 | - |
1659 | - inv = self.make_one_file_inventory( |
1660 | - repo, 'good-parent', ('bad-parent',)) |
1661 | - self.add_revision(repo, 'good-parent', inv, ('bad-parent',)) |
1662 | - |
1663 | - inv = self.make_one_file_inventory( |
1664 | - repo, 'broken-revision', ('good-parent', 'bad-parent')) |
1665 | - self.add_revision(repo, 'broken-revision', inv, ('good-parent',)) |
1666 | + repo, b'bad-parent', (), root_revision=b'bad-parent') |
1667 | + self.add_revision(repo, b'bad-parent', inv, ()) |
1668 | + |
1669 | + inv = self.make_one_file_inventory( |
1670 | + repo, b'good-parent', (b'bad-parent',)) |
1671 | + self.add_revision(repo, b'good-parent', inv, (b'bad-parent',)) |
1672 | + |
1673 | + inv = self.make_one_file_inventory( |
1674 | + repo, b'broken-revision', (b'good-parent', b'bad-parent')) |
1675 | + self.add_revision(repo, b'broken-revision', inv, (b'good-parent',)) |
1676 | self.versioned_root = repo.supports_rich_root() |
1677 | |
1678 | def repository_text_key_references(self): |
1679 | result = {} |
1680 | if self.versioned_root: |
1681 | - result.update({('TREE_ROOT', 'bad-parent'): True, |
1682 | - ('TREE_ROOT', 'broken-revision'): True, |
1683 | - ('TREE_ROOT', 'good-parent'): True}) |
1684 | - result.update({('a-file-id', 'bad-parent'): True, |
1685 | - ('a-file-id', 'broken-revision'): True, |
1686 | - ('a-file-id', 'good-parent'): True}) |
1687 | + result.update({(b'TREE_ROOT', b'bad-parent'): True, |
1688 | + (b'TREE_ROOT', b'broken-revision'): True, |
1689 | + (b'TREE_ROOT', b'good-parent'): True}) |
1690 | + result.update({(b'a-file-id', b'bad-parent'): True, |
1691 | + (b'a-file-id', b'broken-revision'): True, |
1692 | + (b'a-file-id', b'good-parent'): True}) |
1693 | return result |
1694 | |
1695 | def repository_text_keys(self): |
1696 | - return {('a-file-id', 'bad-parent'): [NULL_REVISION], |
1697 | - ('a-file-id', 'broken-revision'): |
1698 | - [('a-file-id', 'good-parent')], |
1699 | - ('a-file-id', 'good-parent'): [('a-file-id', 'bad-parent')]} |
1700 | + return {(b'a-file-id', b'bad-parent'): [NULL_REVISION], |
1701 | + (b'a-file-id', b'broken-revision'): |
1702 | + [(b'a-file-id', b'good-parent')], |
1703 | + (b'a-file-id', b'good-parent'): [('a-file-id', 'bad-parent')]} |
1704 | |
1705 | def versioned_repository_text_keys(self): |
1706 | - return {('TREE_ROOT', 'bad-parent'): [NULL_REVISION], |
1707 | - ('TREE_ROOT', 'broken-revision'): |
1708 | - [('TREE_ROOT', 'good-parent')], |
1709 | - ('TREE_ROOT', 'good-parent'): [('TREE_ROOT', 'bad-parent')]} |
1710 | + return {(b'TREE_ROOT', b'bad-parent'): [NULL_REVISION], |
1711 | + (b'TREE_ROOT', b'broken-revision'): |
1712 | + [(b'TREE_ROOT', 'good-parent')], |
1713 | + (b'TREE_ROOT', b'good-parent'): [(b'TREE_ROOT', b'bad-parent')]} |
1714 | |
1715 | |
1716 | class ClaimedFileParentDidNotModifyFileScenario(BrokenRepoScenario): |
1717 | @@ -601,19 +602,19 @@ |
1718 | """ |
1719 | |
1720 | def all_versions_after_reconcile(self): |
1721 | - return ('basis', 'current') |
1722 | + return (b'basis', b'current') |
1723 | |
1724 | def populated_parents(self): |
1725 | return ( |
1726 | - ((), 'basis'), |
1727 | - (('basis',), 'modified-something-else'), |
1728 | - (('modified-something-else',), 'current')) |
1729 | + ((), b'basis'), |
1730 | + ((b'basis',), b'modified-something-else'), |
1731 | + ((b'modified-something-else',), b'current')) |
1732 | |
1733 | def corrected_parents(self): |
1734 | return ( |
1735 | - ((), 'basis'), |
1736 | - (None, 'modified-something-else'), |
1737 | - (('basis',), 'current')) |
1738 | + ((), b'basis'), |
1739 | + (None, b'modified-something-else'), |
1740 | + ((b'basis',), b'current')) |
1741 | |
1742 | def check_regexes(self, repo): |
1743 | if repo.supports_rich_root(): |
1744 | @@ -629,44 +630,44 @@ |
1745 | ) |
1746 | |
1747 | def populate_repository(self, repo): |
1748 | - inv = self.make_one_file_inventory(repo, 'basis', ()) |
1749 | - self.add_revision(repo, 'basis', inv, ()) |
1750 | + inv = self.make_one_file_inventory(repo, b'basis', ()) |
1751 | + self.add_revision(repo, b'basis', inv, ()) |
1752 | |
1753 | # 'modified-something-else' is a correctly recorded revision, but it |
1754 | # does not modify the file we are looking at, so the inventory for that |
1755 | # file in this revision points to 'basis'. |
1756 | inv = self.make_one_file_inventory( |
1757 | - repo, 'modified-something-else', ('basis',), inv_revision='basis') |
1758 | - self.add_revision(repo, 'modified-something-else', inv, ('basis',)) |
1759 | + repo, b'modified-something-else', (b'basis',), inv_revision=b'basis') |
1760 | + self.add_revision(repo, b'modified-something-else', inv, (b'basis',)) |
1761 | |
1762 | # The 'current' revision has 'modified-something-else' as its parent, |
1763 | # but the 'current' version of 'a-file' should have 'basis' as its |
1764 | # parent. |
1765 | inv = self.make_one_file_inventory( |
1766 | - repo, 'current', ('modified-something-else',)) |
1767 | - self.add_revision(repo, 'current', inv, ('modified-something-else',)) |
1768 | + repo, b'current', (b'modified-something-else',)) |
1769 | + self.add_revision(repo, b'current', inv, (b'modified-something-else',)) |
1770 | self.versioned_root = repo.supports_rich_root() |
1771 | |
1772 | def repository_text_key_references(self): |
1773 | result = {} |
1774 | if self.versioned_root: |
1775 | - result.update({('TREE_ROOT', 'basis'): True, |
1776 | - ('TREE_ROOT', 'current'): True, |
1777 | - ('TREE_ROOT', 'modified-something-else'): True}) |
1778 | - result.update({('a-file-id', 'basis'): True, |
1779 | - ('a-file-id', 'current'): True}) |
1780 | + result.update({(b'TREE_ROOT', b'basis'): True, |
1781 | + (b'TREE_ROOT', b'current'): True, |
1782 | + (b'TREE_ROOT', b'modified-something-else'): True}) |
1783 | + result.update({(b'a-file-id', b'basis'): True, |
1784 | + (b'a-file-id', b'current'): True}) |
1785 | return result |
1786 | |
1787 | def repository_text_keys(self): |
1788 | - return {('a-file-id', 'basis'): [NULL_REVISION], |
1789 | - ('a-file-id', 'current'): [('a-file-id', 'basis')]} |
1790 | + return {(b'a-file-id', b'basis'): [NULL_REVISION], |
1791 | + (b'a-file-id', b'current'): [(b'a-file-id', b'basis')]} |
1792 | |
1793 | def versioned_repository_text_keys(self): |
1794 | - return {('TREE_ROOT', 'basis'): ['null:'], |
1795 | - ('TREE_ROOT', 'current'): |
1796 | - [('TREE_ROOT', 'modified-something-else')], |
1797 | - ('TREE_ROOT', 'modified-something-else'): |
1798 | - [('TREE_ROOT', 'basis')]} |
1799 | + return {(b'TREE_ROOT', b'basis'): [b'null:'], |
1800 | + (b'TREE_ROOT', b'current'): |
1801 | + [(b'TREE_ROOT', b'modified-something-else')], |
1802 | + (b'TREE_ROOT', b'modified-something-else'): |
1803 | + [(b'TREE_ROOT', b'basis')]} |
1804 | |
1805 | |
1806 | class IncorrectlyOrderedParentsScenario(BrokenRepoScenario): |
1807 | @@ -682,22 +683,22 @@ |
1808 | """ |
1809 | |
1810 | def all_versions_after_reconcile(self): |
1811 | - return ['parent-1', 'parent-2', 'broken-revision-1-2', |
1812 | - 'broken-revision-2-1'] |
1813 | + return [b'parent-1', b'parent-2', b'broken-revision-1-2', |
1814 | + b'broken-revision-2-1'] |
1815 | |
1816 | def populated_parents(self): |
1817 | return ( |
1818 | - ((), 'parent-1'), |
1819 | - ((), 'parent-2'), |
1820 | - (('parent-2', 'parent-1'), 'broken-revision-1-2'), |
1821 | - (('parent-1', 'parent-2'), 'broken-revision-2-1')) |
1822 | + ((), b'parent-1'), |
1823 | + ((), b'parent-2'), |
1824 | + ((b'parent-2', b'parent-1'), b'broken-revision-1-2'), |
1825 | + ((b'parent-1', b'parent-2'), b'broken-revision-2-1')) |
1826 | |
1827 | def corrected_parents(self): |
1828 | return ( |
1829 | - ((), 'parent-1'), |
1830 | - ((), 'parent-2'), |
1831 | - (('parent-1', 'parent-2'), 'broken-revision-1-2'), |
1832 | - (('parent-2', 'parent-1'), 'broken-revision-2-1')) |
1833 | + ((), b'parent-1'), |
1834 | + ((), b'parent-2'), |
1835 | + ((b'parent-1', b'parent-2'), b'broken-revision-1-2'), |
1836 | + ((b'parent-2', b'parent-1'), b'broken-revision-2-1')) |
1837 | |
1838 | def check_regexes(self, repo): |
1839 | if repo.supports_rich_root(): |
1840 | @@ -716,51 +717,51 @@ |
1841 | r"\('parent-2', 'parent-1'\)") |
1842 | |
1843 | def populate_repository(self, repo): |
1844 | - inv = self.make_one_file_inventory(repo, 'parent-1', []) |
1845 | - self.add_revision(repo, 'parent-1', inv, []) |
1846 | - |
1847 | - inv = self.make_one_file_inventory(repo, 'parent-2', []) |
1848 | - self.add_revision(repo, 'parent-2', inv, []) |
1849 | - |
1850 | - inv = self.make_one_file_inventory( |
1851 | - repo, 'broken-revision-1-2', ['parent-2', 'parent-1']) |
1852 | - self.add_revision( |
1853 | - repo, 'broken-revision-1-2', inv, ['parent-1', 'parent-2']) |
1854 | - |
1855 | - inv = self.make_one_file_inventory( |
1856 | - repo, 'broken-revision-2-1', ['parent-1', 'parent-2']) |
1857 | - self.add_revision( |
1858 | - repo, 'broken-revision-2-1', inv, ['parent-2', 'parent-1']) |
1859 | + inv = self.make_one_file_inventory(repo, b'parent-1', []) |
1860 | + self.add_revision(repo, b'parent-1', inv, []) |
1861 | + |
1862 | + inv = self.make_one_file_inventory(repo, b'parent-2', []) |
1863 | + self.add_revision(repo, b'parent-2', inv, []) |
1864 | + |
1865 | + inv = self.make_one_file_inventory( |
1866 | + repo, b'broken-revision-1-2', [b'parent-2', b'parent-1']) |
1867 | + self.add_revision( |
1868 | + repo, b'broken-revision-1-2', inv, [b'parent-1', b'parent-2']) |
1869 | + |
1870 | + inv = self.make_one_file_inventory( |
1871 | + repo, b'broken-revision-2-1', [b'parent-1', b'parent-2']) |
1872 | + self.add_revision( |
1873 | + repo, b'broken-revision-2-1', inv, [b'parent-2', b'parent-1']) |
1874 | self.versioned_root = repo.supports_rich_root() |
1875 | |
1876 | def repository_text_key_references(self): |
1877 | result = {} |
1878 | if self.versioned_root: |
1879 | - result.update({('TREE_ROOT', 'broken-revision-1-2'): True, |
1880 | - ('TREE_ROOT', 'broken-revision-2-1'): True, |
1881 | - ('TREE_ROOT', 'parent-1'): True, |
1882 | - ('TREE_ROOT', 'parent-2'): True}) |
1883 | - result.update({('a-file-id', 'broken-revision-1-2'): True, |
1884 | - ('a-file-id', 'broken-revision-2-1'): True, |
1885 | - ('a-file-id', 'parent-1'): True, |
1886 | - ('a-file-id', 'parent-2'): True}) |
1887 | + result.update({(b'TREE_ROOT', b'broken-revision-1-2'): True, |
1888 | + (b'TREE_ROOT', b'broken-revision-2-1'): True, |
1889 | + (b'TREE_ROOT', b'parent-1'): True, |
1890 | + (b'TREE_ROOT', b'parent-2'): True}) |
1891 | + result.update({(b'a-file-id', b'broken-revision-1-2'): True, |
1892 | + (b'a-file-id', b'broken-revision-2-1'): True, |
1893 | + (b'a-file-id', b'parent-1'): True, |
1894 | + (b'a-file-id', b'parent-2'): True}) |
1895 | return result |
1896 | |
1897 | def repository_text_keys(self): |
1898 | - return {('a-file-id', 'broken-revision-1-2'): |
1899 | - [('a-file-id', 'parent-1'), ('a-file-id', 'parent-2')], |
1900 | - ('a-file-id', 'broken-revision-2-1'): |
1901 | - [('a-file-id', 'parent-2'), ('a-file-id', 'parent-1')], |
1902 | - ('a-file-id', 'parent-1'): [NULL_REVISION], |
1903 | - ('a-file-id', 'parent-2'): [NULL_REVISION]} |
1904 | + return {(b'a-file-id', b'broken-revision-1-2'): |
1905 | + [(b'a-file-id', b'parent-1'), (b'a-file-id', b'parent-2')], |
1906 | + (b'a-file-id', b'broken-revision-2-1'): |
1907 | + [(b'a-file-id', b'parent-2'), (b'a-file-id', b'parent-1')], |
1908 | + (b'a-file-id', b'parent-1'): [NULL_REVISION], |
1909 | + (b'a-file-id', b'parent-2'): [NULL_REVISION]} |
1910 | |
1911 | def versioned_repository_text_keys(self): |
1912 | - return {('TREE_ROOT', 'broken-revision-1-2'): |
1913 | - [('TREE_ROOT', 'parent-1'), ('TREE_ROOT', 'parent-2')], |
1914 | - ('TREE_ROOT', 'broken-revision-2-1'): |
1915 | - [('TREE_ROOT', 'parent-2'), ('TREE_ROOT', 'parent-1')], |
1916 | - ('TREE_ROOT', 'parent-1'): [NULL_REVISION], |
1917 | - ('TREE_ROOT', 'parent-2'): [NULL_REVISION]} |
1918 | + return {(b'TREE_ROOT', b'broken-revision-1-2'): |
1919 | + [(b'TREE_ROOT', b'parent-1'), (b'TREE_ROOT', b'parent-2')], |
1920 | + (b'TREE_ROOT', b'broken-revision-2-1'): |
1921 | + [(b'TREE_ROOT', b'parent-2'), (b'TREE_ROOT', b'parent-1')], |
1922 | + (b'TREE_ROOT', b'parent-1'): [NULL_REVISION], |
1923 | + (b'TREE_ROOT', b'parent-2'): [NULL_REVISION]} |
1924 | |
1925 | |
1926 | all_broken_scenario_classes = [ |
1927 | @@ -792,8 +793,7 @@ |
1928 | def make_populated_repository(self, factory): |
1929 | """Create a new repository populated by the given factory.""" |
1930 | repo = self.make_repository('broken-repo') |
1931 | - repo.lock_write() |
1932 | - try: |
1933 | + with repo.lock_write(): |
1934 | repo.start_write_group() |
1935 | try: |
1936 | factory(repo) |
1937 | @@ -802,8 +802,6 @@ |
1938 | except: |
1939 | repo.abort_write_group() |
1940 | raise |
1941 | - finally: |
1942 | - repo.unlock() |
1943 | |
1944 | def add_revision(self, repo, revision_id, inv, parent_ids): |
1945 | """Add a revision with a given inventory and parents to a repository. |
1946 | @@ -847,15 +845,15 @@ |
1947 | inv = Inventory(revision_id=revision) |
1948 | if root_revision is not None: |
1949 | inv.root.revision = root_revision |
1950 | - file_id = 'a-file-id' |
1951 | - entry = InventoryFile(file_id, 'a file name', 'TREE_ROOT') |
1952 | + file_id = b'a-file-id' |
1953 | + entry = InventoryFile(file_id, 'a file name', b'TREE_ROOT') |
1954 | if inv_revision is not None: |
1955 | entry.revision = inv_revision |
1956 | else: |
1957 | entry.revision = revision |
1958 | entry.text_size = 0 |
1959 | if file_contents is None: |
1960 | - file_contents = '%sline\n' % entry.revision |
1961 | + file_contents = b'%sline\n' % entry.revision |
1962 | entry.text_sha1 = osutils.sha_string(file_contents) |
1963 | inv.add(entry) |
1964 | if make_file_version: |
1965 | @@ -869,13 +867,13 @@ |
1966 | "Format does not support text parent reconciliation") |
1967 | |
1968 | def file_parents(self, repo, revision_id): |
1969 | - key = ('a-file-id', revision_id) |
1970 | + key = (b'a-file-id', revision_id) |
1971 | parent_map = repo.texts.get_parent_map([key]) |
1972 | return tuple(parent[-1] for parent in parent_map[key]) |
1973 | |
1974 | def assertFileVersionAbsent(self, repo, revision_id): |
1975 | self.assertEqual({}, |
1976 | - repo.texts.get_parent_map([('a-file-id', revision_id)])) |
1977 | + repo.texts.get_parent_map([(b'a-file-id', revision_id)])) |
1978 | |
1979 | def assertParentsMatch(self, expected_parents_for_versions, repo, |
1980 | when_description): |
1981 | @@ -907,7 +905,7 @@ |
1982 | |
1983 | :returns: A dict of `{version: hash}`. |
1984 | """ |
1985 | - keys = [('a-file-id', version) for version in versions] |
1986 | + keys = [(b'a-file-id', version) for version in versions] |
1987 | return repo.texts.get_sha1s(keys) |
1988 | |
1989 | def test_reconcile_behaviour(self): |
1990 | @@ -915,19 +913,15 @@ |
1991 | and after. |
1992 | """ |
1993 | repo, scenario = self.prepare_test_repository() |
1994 | - repo.lock_read() |
1995 | - try: |
1996 | + with repo.lock_read(): |
1997 | self.assertParentsMatch(scenario.populated_parents(), repo, |
1998 | - 'before') |
1999 | + b'before') |
2000 | vf_shas = self.shas_for_versions_of_file( |
2001 | repo, scenario.all_versions_after_reconcile()) |
2002 | - finally: |
2003 | - repo.unlock() |
2004 | result = repo.reconcile(thorough=True) |
2005 | - repo.lock_read() |
2006 | - try: |
2007 | + with repo.lock_read(): |
2008 | self.assertParentsMatch(scenario.corrected_parents(), repo, |
2009 | - 'after') |
2010 | + b'after') |
2011 | # The contents of the versions in the versionedfile should be the |
2012 | # same after the reconcile. |
2013 | self.assertEqual( |
2014 | @@ -943,14 +937,12 @@ |
2015 | # (we specify it this way because a store can use arbitrary |
2016 | # compression pointers in principle. |
2017 | for file_version in scenario.corrected_fulltexts(): |
2018 | - key = ('a-file-id', file_version) |
2019 | + key = (b'a-file-id', file_version) |
2020 | self.assertEqual({key:()}, repo.texts.get_parent_map([key])) |
2021 | self.assertIsInstance( |
2022 | repo.texts.get_record_stream([key], 'unordered', |
2023 | True).next().get_bytes_as('fulltext'), |
2024 | str) |
2025 | - finally: |
2026 | - repo.unlock() |
2027 | |
2028 | def test_check_behaviour(self): |
2029 | """Populate a repository and check it, and verify the output.""" |
2030 | |
2031 | === modified file 'breezy/tests/per_repository_vf/test_fileid_involved.py' |
2032 | --- breezy/tests/per_repository_vf/test_fileid_involved.py 2018-05-22 02:05:12 +0000 |
2033 | +++ breezy/tests/per_repository_vf/test_fileid_involved.py 2018-06-21 23:03:57 +0000 |
2034 | @@ -96,32 +96,32 @@ |
2035 | raise tests.TestNotApplicable('format does not support stacking') |
2036 | builder.start_series() |
2037 | builder.build_snapshot(None, [ |
2038 | - ('add', ('', 'root-id', 'directory', None)), |
2039 | - ('add', ('file', 'file-id', 'file', 'contents\n'))], |
2040 | + ('add', ('', b'root-id', 'directory', None)), |
2041 | + ('add', ('file', b'file-id', 'file', b'contents\n'))], |
2042 | revision_id=b'A-id') |
2043 | - builder.build_snapshot(['A-id'], [ |
2044 | - ('modify', ('file', 'new-content\n'))], |
2045 | + builder.build_snapshot([b'A-id'], [ |
2046 | + ('modify', ('file', b'new-content\n'))], |
2047 | revision_id=b'B-id') |
2048 | - builder.build_snapshot(['B-id'], [ |
2049 | - ('modify', ('file', 'yet more content\n'))], |
2050 | + builder.build_snapshot([b'B-id'], [ |
2051 | + ('modify', ('file', b'yet more content\n'))], |
2052 | revision_id=b'C-id') |
2053 | builder.finish_series() |
2054 | source_b = builder.get_branch() |
2055 | source_b.lock_read() |
2056 | self.addCleanup(source_b.unlock) |
2057 | base = self.make_branch('base') |
2058 | - base.pull(source_b, stop_revision='B-id') |
2059 | + base.pull(source_b, stop_revision=b'B-id') |
2060 | stacked = self.make_branch('stacked') |
2061 | stacked.set_stacked_on_url('../base') |
2062 | - stacked.pull(source_b, stop_revision='C-id') |
2063 | + stacked.pull(source_b, stop_revision=b'C-id') |
2064 | |
2065 | stacked.lock_read() |
2066 | self.addCleanup(stacked.unlock) |
2067 | repo = stacked.repository |
2068 | - keys = {'file-id': {'A-id'}} |
2069 | + keys = {'file-id': {b'A-id'}} |
2070 | if stacked.repository.supports_rich_root(): |
2071 | - keys['root-id'] = {'A-id'} |
2072 | - self.assertEqual(keys, repo.fileids_altered_by_revision_ids(['A-id'])) |
2073 | + keys['root-id'] = {b'A-id'} |
2074 | + self.assertEqual(keys, repo.fileids_altered_by_revision_ids([b'A-id'])) |
2075 | |
2076 | |
2077 | class FileIdInvolvedBase(TestCaseWithRepository): |
2078 | |
2079 | === modified file 'breezy/tests/per_repository_vf/test_repository.py' |
2080 | --- breezy/tests/per_repository_vf/test_repository.py 2018-05-22 02:05:12 +0000 |
2081 | +++ breezy/tests/per_repository_vf/test_repository.py 2018-06-21 23:03:57 +0000 |
2082 | @@ -265,13 +265,12 @@ |
2083 | """Test the basic behaviour of the text store.""" |
2084 | tree = self.make_branch_and_tree('tree') |
2085 | repo = tree.branch.repository |
2086 | - file_id = "Foo:Bar" |
2087 | + file_id = b"Foo:Bar" |
2088 | file_key = (file_id,) |
2089 | - tree.lock_write() |
2090 | - try: |
2091 | + with tree.lock_write(): |
2092 | self.assertEqual(set(), set(repo.texts.keys())) |
2093 | tree.add(['foo'], [file_id], ['file']) |
2094 | - tree.put_file_bytes_non_atomic('foo', 'content\n', file_id=file_id) |
2095 | + tree.put_file_bytes_non_atomic('foo', b'content\n', file_id=file_id) |
2096 | try: |
2097 | rev_key = (tree.commit("foo"),) |
2098 | except errors.IllegalPath: |
2099 | @@ -290,20 +289,18 @@ |
2100 | self.assertEqual(keys, set(repo.texts.keys())) |
2101 | self.assertEqual(parents, |
2102 | repo.texts.get_parent_map(repo.texts.keys())) |
2103 | - finally: |
2104 | - tree.unlock() |
2105 | tree2 = self.make_branch_and_tree('tree2') |
2106 | tree2.pull(tree.branch) |
2107 | - tree2.put_file_bytes_non_atomic('foo', 'right\n', file_id='Foo:Bar') |
2108 | + tree2.put_file_bytes_non_atomic('foo', b'right\n', file_id=b'Foo:Bar') |
2109 | right_key = (tree2.commit('right'),) |
2110 | keys.add(file_key + right_key) |
2111 | parents[file_key + right_key] = (file_key + rev_key,) |
2112 | - tree.put_file_bytes_non_atomic('foo', 'left\n', file_id='Foo:Bar') |
2113 | + tree.put_file_bytes_non_atomic('foo', b'left\n', file_id=b'Foo:Bar') |
2114 | left_key = (tree.commit('left'),) |
2115 | keys.add(file_key + left_key) |
2116 | parents[file_key + left_key] = (file_key + rev_key,) |
2117 | tree.merge_from_branch(tree2.branch) |
2118 | - tree.put_file_bytes_non_atomic('foo', 'merged\n', file_id='Foo:Bar') |
2119 | + tree.put_file_bytes_non_atomic('foo', b'merged\n', file_id=b'Foo:Bar') |
2120 | try: |
2121 | tree.auto_resolve() |
2122 | except errors.UnsupportedOperation: |
2123 | |
2124 | === modified file 'breezy/tests/per_transport.py' |
2125 | --- breezy/tests/per_transport.py 2018-04-01 18:29:09 +0000 |
2126 | +++ breezy/tests/per_transport.py 2018-06-21 23:03:57 +0000 |
2127 | @@ -174,9 +174,9 @@ |
2128 | t = self.get_transport() |
2129 | |
2130 | files = ['a'] |
2131 | - content = 'contents of a\n' |
2132 | + content = b'contents of a\n' |
2133 | self.build_tree(['a'], transport=t, line_endings='binary') |
2134 | - self.check_transport_contents('contents of a\n', t, 'a') |
2135 | + self.check_transport_contents(b'contents of a\n', t, 'a') |
2136 | f = t.get('a') |
2137 | self.assertEqual(content, f.read()) |
2138 | |
2139 | @@ -220,13 +220,13 @@ |
2140 | t = self.get_transport() |
2141 | |
2142 | files = ['a', 'b', 'e', 'g'] |
2143 | - contents = ['contents of a\n', |
2144 | - 'contents of b\n', |
2145 | - 'contents of e\n', |
2146 | - 'contents of g\n', |
2147 | + contents = [b'contents of a\n', |
2148 | + b'contents of b\n', |
2149 | + b'contents of e\n', |
2150 | + b'contents of g\n', |
2151 | ] |
2152 | self.build_tree(files, transport=t, line_endings='binary') |
2153 | - self.check_transport_contents('contents of a\n', t, 'a') |
2154 | + self.check_transport_contents(b'contents of a\n', t, 'a') |
2155 | |
2156 | for content, fname in zip(contents, files): |
2157 | self.assertEqual(content, t.get_bytes(fname)) |
2158 | @@ -272,11 +272,11 @@ |
2159 | |
2160 | t.put_bytes('a', b'some text for a\n') |
2161 | self.assertTrue(t.has('a')) |
2162 | - self.check_transport_contents('some text for a\n', t, 'a') |
2163 | + self.check_transport_contents(b'some text for a\n', t, 'a') |
2164 | |
2165 | # The contents should be overwritten |
2166 | t.put_bytes('a', b'new text for a\n') |
2167 | - self.check_transport_contents('new text for a\n', t, 'a') |
2168 | + self.check_transport_contents(b'new text for a\n', t, 'a') |
2169 | |
2170 | self.assertRaises(NoSuchFile, |
2171 | t.put_bytes, 'path/doesnt/exist/c', b'contents') |
2172 | @@ -286,37 +286,37 @@ |
2173 | |
2174 | if t.is_readonly(): |
2175 | self.assertRaises(TransportNotPossible, |
2176 | - t.put_bytes_non_atomic, 'a', 'some text for a\n') |
2177 | + t.put_bytes_non_atomic, 'a', b'some text for a\n') |
2178 | return |
2179 | |
2180 | self.assertFalse(t.has('a')) |
2181 | - t.put_bytes_non_atomic('a', 'some text for a\n') |
2182 | + t.put_bytes_non_atomic('a', b'some text for a\n') |
2183 | self.assertTrue(t.has('a')) |
2184 | - self.check_transport_contents('some text for a\n', t, 'a') |
2185 | + self.check_transport_contents(b'some text for a\n', t, 'a') |
2186 | # Put also replaces contents |
2187 | - t.put_bytes_non_atomic('a', 'new\ncontents for\na\n') |
2188 | - self.check_transport_contents('new\ncontents for\na\n', t, 'a') |
2189 | + t.put_bytes_non_atomic('a', b'new\ncontents for\na\n') |
2190 | + self.check_transport_contents(b'new\ncontents for\na\n', t, 'a') |
2191 | |
2192 | # Make sure we can create another file |
2193 | - t.put_bytes_non_atomic('d', 'contents for\nd\n') |
2194 | + t.put_bytes_non_atomic('d', b'contents for\nd\n') |
2195 | # And overwrite 'a' with empty contents |
2196 | - t.put_bytes_non_atomic('a', '') |
2197 | - self.check_transport_contents('contents for\nd\n', t, 'd') |
2198 | - self.check_transport_contents('', t, 'a') |
2199 | + t.put_bytes_non_atomic('a', b'') |
2200 | + self.check_transport_contents(b'contents for\nd\n', t, 'd') |
2201 | + self.check_transport_contents(b'', t, 'a') |
2202 | |
2203 | self.assertRaises(NoSuchFile, t.put_bytes_non_atomic, 'no/such/path', |
2204 | - 'contents\n') |
2205 | + b'contents\n') |
2206 | # Now test the create_parent flag |
2207 | self.assertRaises(NoSuchFile, t.put_bytes_non_atomic, 'dir/a', |
2208 | - 'contents\n') |
2209 | + b'contents\n') |
2210 | self.assertFalse(t.has('dir/a')) |
2211 | - t.put_bytes_non_atomic('dir/a', 'contents for dir/a\n', |
2212 | + t.put_bytes_non_atomic('dir/a', b'contents for dir/a\n', |
2213 | create_parent_dir=True) |
2214 | - self.check_transport_contents('contents for dir/a\n', t, 'dir/a') |
2215 | + self.check_transport_contents(b'contents for dir/a\n', t, 'dir/a') |
2216 | |
2217 | # But we still get NoSuchFile if we can't make the parent dir |
2218 | self.assertRaises(NoSuchFile, t.put_bytes_non_atomic, 'not/there/a', |
2219 | - 'contents\n', |
2220 | + b'contents\n', |
2221 | create_parent_dir=True) |
2222 | |
2223 | def test_put_bytes_permissions(self): |
2224 | @@ -350,29 +350,29 @@ |
2225 | if not t._can_roundtrip_unix_modebits(): |
2226 | # Can't roundtrip, so no need to run this test |
2227 | return |
2228 | - t.put_bytes_non_atomic('mode644', 'test text\n', mode=0o644) |
2229 | + t.put_bytes_non_atomic('mode644', b'test text\n', mode=0o644) |
2230 | self.assertTransportMode(t, 'mode644', 0o644) |
2231 | - t.put_bytes_non_atomic('mode666', 'test text\n', mode=0o666) |
2232 | + t.put_bytes_non_atomic('mode666', b'test text\n', mode=0o666) |
2233 | self.assertTransportMode(t, 'mode666', 0o666) |
2234 | - t.put_bytes_non_atomic('mode600', 'test text\n', mode=0o600) |
2235 | + t.put_bytes_non_atomic('mode600', b'test text\n', mode=0o600) |
2236 | self.assertTransportMode(t, 'mode600', 0o600) |
2237 | - t.put_bytes_non_atomic('mode400', 'test text\n', mode=0o400) |
2238 | + t.put_bytes_non_atomic('mode400', b'test text\n', mode=0o400) |
2239 | self.assertTransportMode(t, 'mode400', 0o400) |
2240 | |
2241 | # The default permissions should be based on the current umask |
2242 | umask = osutils.get_umask() |
2243 | - t.put_bytes_non_atomic('nomode', 'test text\n', mode=None) |
2244 | + t.put_bytes_non_atomic('nomode', b'test text\n', mode=None) |
2245 | self.assertTransportMode(t, 'nomode', 0o666 & ~umask) |
2246 | |
2247 | # We should also be able to set the mode for a parent directory |
2248 | # when it is created |
2249 | - t.put_bytes_non_atomic('dir700/mode664', 'test text\n', mode=0o664, |
2250 | + t.put_bytes_non_atomic('dir700/mode664', b'test text\n', mode=0o664, |
2251 | dir_mode=0o700, create_parent_dir=True) |
2252 | self.assertTransportMode(t, 'dir700', 0o700) |
2253 | - t.put_bytes_non_atomic('dir770/mode664', 'test text\n', mode=0o664, |
2254 | + t.put_bytes_non_atomic('dir770/mode664', b'test text\n', mode=0o664, |
2255 | dir_mode=0o770, create_parent_dir=True) |
2256 | self.assertTransportMode(t, 'dir770', 0o770) |
2257 | - t.put_bytes_non_atomic('dir777/mode664', 'test text\n', mode=0o664, |
2258 | + t.put_bytes_non_atomic('dir777/mode664', b'test text\n', mode=0o664, |
2259 | dir_mode=0o777, create_parent_dir=True) |
2260 | self.assertTransportMode(t, 'dir777', 0o777) |
2261 | |
2262 | @@ -388,11 +388,11 @@ |
2263 | # put_file returns the length of the data written |
2264 | self.assertEqual(16, result) |
2265 | self.assertTrue(t.has('a')) |
2266 | - self.check_transport_contents('some text for a\n', t, 'a') |
2267 | + self.check_transport_contents(b'some text for a\n', t, 'a') |
2268 | # Put also replaces contents |
2269 | result = t.put_file('a', BytesIO(b'new\ncontents for\na\n')) |
2270 | self.assertEqual(19, result) |
2271 | - self.check_transport_contents('new\ncontents for\na\n', t, 'a') |
2272 | + self.check_transport_contents(b'new\ncontents for\na\n', t, 'a') |
2273 | self.assertRaises(NoSuchFile, |
2274 | t.put_file, 'path/doesnt/exist/c', |
2275 | BytesIO(b'contents')) |
2276 | @@ -408,17 +408,17 @@ |
2277 | self.assertFalse(t.has('a')) |
2278 | t.put_file_non_atomic('a', BytesIO(b'some text for a\n')) |
2279 | self.assertTrue(t.has('a')) |
2280 | - self.check_transport_contents('some text for a\n', t, 'a') |
2281 | + self.check_transport_contents(b'some text for a\n', t, 'a') |
2282 | # Put also replaces contents |
2283 | t.put_file_non_atomic('a', BytesIO(b'new\ncontents for\na\n')) |
2284 | - self.check_transport_contents('new\ncontents for\na\n', t, 'a') |
2285 | + self.check_transport_contents(b'new\ncontents for\na\n', t, 'a') |
2286 | |
2287 | # Make sure we can create another file |
2288 | t.put_file_non_atomic('d', BytesIO(b'contents for\nd\n')) |
2289 | # And overwrite 'a' with empty contents |
2290 | t.put_file_non_atomic('a', BytesIO(b'')) |
2291 | - self.check_transport_contents('contents for\nd\n', t, 'd') |
2292 | - self.check_transport_contents('', t, 'a') |
2293 | + self.check_transport_contents(b'contents for\nd\n', t, 'd') |
2294 | + self.check_transport_contents(b'', t, 'a') |
2295 | |
2296 | self.assertRaises(NoSuchFile, t.put_file_non_atomic, 'no/such/path', |
2297 | BytesIO(b'contents\n')) |
2298 | @@ -428,7 +428,7 @@ |
2299 | self.assertFalse(t.has('dir/a')) |
2300 | t.put_file_non_atomic('dir/a', BytesIO(b'contents for dir/a\n'), |
2301 | create_parent_dir=True) |
2302 | - self.check_transport_contents('contents for dir/a\n', t, 'dir/a') |
2303 | + self.check_transport_contents(b'contents for dir/a\n', t, 'dir/a') |
2304 | |
2305 | # But we still get NoSuchFile if we can't make the parent dir |
2306 | self.assertRaises(NoSuchFile, t.put_file_non_atomic, 'not/there/a', |
2307 | @@ -535,8 +535,8 @@ |
2308 | # Test get/put in sub-directories |
2309 | t.put_bytes('dir_a/a', b'contents of dir_a/a') |
2310 | t.put_file('dir_b/b', BytesIO(b'contents of dir_b/b')) |
2311 | - self.check_transport_contents('contents of dir_a/a', t, 'dir_a/a') |
2312 | - self.check_transport_contents('contents of dir_b/b', t, 'dir_b/b') |
2313 | + self.check_transport_contents(b'contents of dir_a/a', t, 'dir_a/a') |
2314 | + self.check_transport_contents(b'contents of dir_b/b', t, 'dir_b/b') |
2315 | |
2316 | # mkdir of a dir with an absent parent |
2317 | self.assertRaises(NoSuchFile, t.mkdir, 'missing/dir') |
2318 | @@ -681,7 +681,7 @@ |
2319 | # And we can create new files, too |
2320 | self.assertEqual(0, |
2321 | t.append_file('c', BytesIO(b'some text\nfor a missing file\n'))) |
2322 | - self.check_transport_contents('some text\nfor a missing file\n', |
2323 | + self.check_transport_contents(b'some text\nfor a missing file\n', |
2324 | t, 'c') |
2325 | |
2326 | def test_append_bytes(self): |
2327 | @@ -908,14 +908,14 @@ |
2328 | self.assertTrue(t.has('b')) |
2329 | self.assertFalse(t.has('a')) |
2330 | |
2331 | - self.check_transport_contents('a first file\n', t, 'b') |
2332 | + self.check_transport_contents(b'a first file\n', t, 'b') |
2333 | self.assertEqual([False, True], [t.has(n) for n in ['a', 'b']]) |
2334 | |
2335 | # Overwrite a file |
2336 | t.put_bytes('c', b'c this file\n') |
2337 | t.move('c', 'b') |
2338 | self.assertFalse(t.has('c')) |
2339 | - self.check_transport_contents('c this file\n', t, 'b') |
2340 | + self.check_transport_contents(b'c this file\n', t, 'b') |
2341 | |
2342 | # TODO: Try to write a test for atomicity |
2343 | # TODO: Test moving into a non-existent subdirectory |
2344 | @@ -928,7 +928,7 @@ |
2345 | |
2346 | t.put_bytes('a', b'a file\n') |
2347 | t.copy('a', 'b') |
2348 | - self.check_transport_contents('a file\n', t, 'b') |
2349 | + self.check_transport_contents(b'a file\n', t, 'b') |
2350 | |
2351 | self.assertRaises(NoSuchFile, t.copy, 'c', 'd') |
2352 | os.mkdir('c') |
2353 | @@ -937,7 +937,7 @@ |
2354 | #self.assertRaises(Something, t.copy, 'a', 'c') |
2355 | t.put_bytes('d', b'text in d\n') |
2356 | t.copy('d', 'b') |
2357 | - self.check_transport_contents('text in d\n', t, 'b') |
2358 | + self.check_transport_contents(b'text in d\n', t, 'b') |
2359 | |
2360 | def test_connection_error(self): |
2361 | """ConnectionError is raised when connection is impossible. |
2362 | @@ -1472,13 +1472,13 @@ |
2363 | return |
2364 | transport.put_bytes('foo', b'bar') |
2365 | transport3 = self.get_transport() |
2366 | - self.check_transport_contents('bar', transport3, 'foo') |
2367 | + self.check_transport_contents(b'bar', transport3, 'foo') |
2368 | |
2369 | # now opening at a relative url should give use a sane result: |
2370 | transport.mkdir('newdir') |
2371 | transport5 = self.get_transport('newdir') |
2372 | transport6 = transport5.clone('..') |
2373 | - self.check_transport_contents('bar', transport6, 'foo') |
2374 | + self.check_transport_contents(b'bar', transport6, 'foo') |
2375 | |
2376 | def test_lock_write(self): |
2377 | """Test transport-level write locks. |
2378 | |
2379 | === modified file 'breezy/tests/per_tree/test_test_trees.py' |
2380 | --- breezy/tests/per_tree/test_test_trees.py 2018-03-24 15:27:01 +0000 |
2381 | +++ breezy/tests/per_tree/test_test_trees.py 2018-06-21 23:03:57 +0000 |
2382 | @@ -17,6 +17,7 @@ |
2383 | """Tests for the test trees used by the per_tree tests.""" |
2384 | |
2385 | from breezy import errors |
2386 | +from breezy.sixish import text_type |
2387 | from breezy.tests import per_tree |
2388 | from breezy.tests import ( |
2389 | TestNotApplicable, |
2390 | @@ -318,7 +319,7 @@ |
2391 | |
2392 | for expected, (path, ie) in zip(path_and_ids, path_entries): |
2393 | self.assertEqual(expected[0], path) # Paths should match |
2394 | - self.assertIsInstance(path, unicode) |
2395 | + self.assertIsInstance(path, text_type) |
2396 | self.assertEqual(expected[1], ie.file_id) |
2397 | self.assertIsInstance(ie.file_id, str) |
2398 | self.assertEqual(expected[2], ie.parent_id) |
2399 | @@ -387,7 +388,7 @@ |
2400 | for (epath, efid, eparent, erev), (path, ie) in zip(path_and_ids, |
2401 | path_entries): |
2402 | self.assertEqual(epath, path) # Paths should match |
2403 | - self.assertIsInstance(path, unicode) |
2404 | + self.assertIsInstance(path, text_type) |
2405 | self.assertIsInstance(ie.file_id, bytes) |
2406 | if wt.supports_setting_file_ids(): |
2407 | self.assertEqual(efid, ie.file_id) |
2408 | |
2409 | === modified file 'breezy/tests/per_workingtree/test_put_file.py' |
2410 | --- breezy/tests/per_workingtree/test_put_file.py 2017-11-12 20:44:54 +0000 |
2411 | +++ breezy/tests/per_workingtree/test_put_file.py 2018-06-21 23:03:57 +0000 |
2412 | @@ -25,13 +25,13 @@ |
2413 | def test_put_new_file(self): |
2414 | t = self.make_branch_and_tree('t1') |
2415 | t.add(['foo'], kinds=['file']) |
2416 | - t.put_file_bytes_non_atomic('foo', 'barshoom') |
2417 | - self.assertEqual('barshoom', t.get_file('foo').read()) |
2418 | + t.put_file_bytes_non_atomic('foo', b'barshoom') |
2419 | + self.assertEqual(b'barshoom', t.get_file('foo').read()) |
2420 | |
2421 | def test_put_existing_file(self): |
2422 | t = self.make_branch_and_tree('t1') |
2423 | t.add(['foo'], kinds=['file']) |
2424 | - t.put_file_bytes_non_atomic('foo', 'first-content') |
2425 | - t.put_file_bytes_non_atomic('foo', 'barshoom') |
2426 | - self.assertEqual('barshoom', t.get_file('foo').read()) |
2427 | + t.put_file_bytes_non_atomic('foo', b'first-content') |
2428 | + t.put_file_bytes_non_atomic('foo', b'barshoom') |
2429 | + self.assertEqual(b'barshoom', t.get_file('foo').read()) |
2430 | |
2431 | |
2432 | === modified file 'breezy/tests/test_cache_utf8.py' |
2433 | --- breezy/tests/test_cache_utf8.py 2017-05-22 00:56:52 +0000 |
2434 | +++ breezy/tests/test_cache_utf8.py 2018-06-21 23:03:57 +0000 |
2435 | @@ -19,6 +19,7 @@ |
2436 | from .. import ( |
2437 | cache_utf8, |
2438 | ) |
2439 | +from ..sixish import text_type |
2440 | from . import TestCase |
2441 | |
2442 | |
2443 | @@ -105,7 +106,7 @@ |
2444 | # objects. |
2445 | uni_x = cache_utf8.decode(x) |
2446 | self.assertEqual(u'simple text', uni_x) |
2447 | - self.assertIsInstance(uni_x, unicode) |
2448 | + self.assertIsInstance(uni_x, text_type) |
2449 | |
2450 | utf8_x = cache_utf8.encode(uni_x) |
2451 | self.assertIs(utf8_x, x) |
2452 | |
2453 | === modified file 'breezy/tests/test_config.py' |
2454 | --- breezy/tests/test_config.py 2017-11-12 13:53:51 +0000 |
2455 | +++ breezy/tests/test_config.py 2018-06-21 23:03:57 +0000 |
2456 | @@ -44,6 +44,7 @@ |
2457 | ) |
2458 | from ..sixish import ( |
2459 | BytesIO, |
2460 | + text_type, |
2461 | ) |
2462 | from ..transport import remote as transport_remote |
2463 | from . import ( |
2464 | @@ -522,7 +523,7 @@ |
2465 | self.assertEqual(config.config_dir(), self.brz_home) |
2466 | |
2467 | def test_config_dir_is_unicode(self): |
2468 | - self.assertIsInstance(config.config_dir(), unicode) |
2469 | + self.assertIsInstance(config.config_dir(), text_type) |
2470 | |
2471 | def test_config_filename(self): |
2472 | self.assertEqual(config.config_filename(), |
2473 | @@ -554,7 +555,7 @@ |
2474 | self.assertEqual(config.config_dir(), self.bzr_home) |
2475 | |
2476 | def test_config_dir_is_unicode(self): |
2477 | - self.assertIsInstance(config.config_dir(), unicode) |
2478 | + self.assertIsInstance(config.config_dir(), text_type) |
2479 | |
2480 | def test_config_filename(self): |
2481 | self.assertEqual(config.config_filename(), |
2482 | |
2483 | === modified file 'breezy/tests/test_conflicts.py' |
2484 | --- breezy/tests/test_conflicts.py 2018-05-22 02:05:12 +0000 |
2485 | +++ breezy/tests/test_conflicts.py 2018-06-21 23:03:57 +0000 |
2486 | @@ -24,6 +24,7 @@ |
2487 | osutils, |
2488 | tests, |
2489 | ) |
2490 | +from ..sixish import text_type |
2491 | from . import ( |
2492 | script, |
2493 | scenarios, |
2494 | @@ -129,7 +130,7 @@ |
2495 | scenarios = scenarios.multiply_scenarios(vary_by_conflicts()) |
2496 | |
2497 | def test_stringification(self): |
2498 | - text = unicode(self.conflict) |
2499 | + text = text_type(self.conflict) |
2500 | self.assertContainsString(text, self.conflict.path) |
2501 | self.assertContainsString(text.lower(), "conflict") |
2502 | self.assertContainsString(repr(self.conflict), |
2503 | @@ -140,14 +141,14 @@ |
2504 | o = conflicts.Conflict.factory(**p.as_stanza().as_dict()) |
2505 | self.assertEqual(o, p) |
2506 | |
2507 | - self.assertIsInstance(o.path, unicode) |
2508 | + self.assertIsInstance(o.path, text_type) |
2509 | |
2510 | if o.file_id is not None: |
2511 | self.assertIsInstance(o.file_id, str) |
2512 | |
2513 | conflict_path = getattr(o, 'conflict_path', None) |
2514 | if conflict_path is not None: |
2515 | - self.assertIsInstance(conflict_path, unicode) |
2516 | + self.assertIsInstance(conflict_path, text_type) |
2517 | |
2518 | conflict_file_id = getattr(o, 'conflict_file_id', None) |
2519 | if conflict_file_id is not None: |
2520 | @@ -174,7 +175,7 @@ |
2521 | |
2522 | def test_stringification(self): |
2523 | for text, o in zip(example_conflicts.to_strings(), example_conflicts): |
2524 | - self.assertEqual(text, unicode(o)) |
2525 | + self.assertEqual(text, text_type(o)) |
2526 | |
2527 | |
2528 | # FIXME: The shell-like tests should be converted to real whitebox tests... or |
2529 | @@ -303,17 +304,17 @@ |
2530 | |
2531 | # Create an empty trunk |
2532 | builder.build_snapshot(None, [ |
2533 | - ('add', ('', 'root-id', 'directory', ''))], |
2534 | + ('add', (u'', b'root-id', 'directory', ''))], |
2535 | revision_id=b'start') |
2536 | # Add a minimal base content |
2537 | base_actions = self._get_actions(self._base_actions)() |
2538 | - builder.build_snapshot(['start'], base_actions, revision_id=b'base') |
2539 | + builder.build_snapshot([b'start'], base_actions, revision_id=b'base') |
2540 | # Modify the base content in branch |
2541 | actions_other = self._get_actions(self._other['actions'])() |
2542 | - builder.build_snapshot(['base'], actions_other, revision_id=b'other') |
2543 | + builder.build_snapshot([b'base'], actions_other, revision_id=b'other') |
2544 | # Modify the base content in trunk |
2545 | actions_this = self._get_actions(self._this['actions'])() |
2546 | - builder.build_snapshot(['base'], actions_this, revision_id=b'this') |
2547 | + builder.build_snapshot([b'base'], actions_this, revision_id=b'this') |
2548 | # builder.get_branch() tip is now 'this' |
2549 | |
2550 | builder.finish_series() |
2551 | |
2552 | === modified file 'breezy/tests/test_dirstate.py' |
2553 | --- breezy/tests/test_dirstate.py 2018-05-22 02:05:12 +0000 |
2554 | +++ breezy/tests/test_dirstate.py 2018-06-21 23:03:57 +0000 |
2555 | @@ -1105,7 +1105,7 @@ |
2556 | try: |
2557 | tree1.add('') |
2558 | tree1.add(['a file'], [b'file-id'], ['file']) |
2559 | - tree1.put_file_bytes_non_atomic('a file', 'file-content') |
2560 | + tree1.put_file_bytes_non_atomic('a file', b'file-content') |
2561 | revid1 = tree1.commit('foo') |
2562 | finally: |
2563 | tree1.unlock() |
2564 | @@ -1113,7 +1113,7 @@ |
2565 | tree2 = memorytree.MemoryTree.create_on_branch(branch2) |
2566 | tree2.lock_write() |
2567 | try: |
2568 | - tree2.put_file_bytes_non_atomic('a file', 'new file-content') |
2569 | + tree2.put_file_bytes_non_atomic('a file', b'new file-content') |
2570 | revid2 = tree2.commit('foo') |
2571 | root_id = tree2.get_root_id() |
2572 | finally: |
2573 | |
2574 | === modified file 'breezy/tests/test_fetch.py' |
2575 | --- breezy/tests/test_fetch.py 2018-05-22 02:05:12 +0000 |
2576 | +++ breezy/tests/test_fetch.py 2018-06-21 23:03:57 +0000 |
2577 | @@ -149,14 +149,14 @@ |
2578 | Convert(tree.basedir, knit2_format) |
2579 | tree = WorkingTree.open(tree.basedir) |
2580 | branch = self.make_branch('branch', format=knit2_format) |
2581 | - branch.pull(tree.branch, stop_revision='rev1') |
2582 | + branch.pull(tree.branch, stop_revision=b'rev1') |
2583 | repo = branch.repository |
2584 | repo.lock_read() |
2585 | try: |
2586 | # Make sure fetch retrieved only what we requested |
2587 | - self.assertEqual({('tree-root', 'rev1'):()}, |
2588 | + self.assertEqual({(b'tree-root', b'rev1'):()}, |
2589 | repo.texts.get_parent_map( |
2590 | - [('tree-root', 'rev1'), ('tree-root', 'rev2')])) |
2591 | + [(b'tree-root', b'rev1'), (b'tree-root', b'rev2')])) |
2592 | finally: |
2593 | repo.unlock() |
2594 | branch.pull(tree.branch) |
2595 | @@ -165,8 +165,8 @@ |
2596 | repo.lock_read() |
2597 | try: |
2598 | # Make sure fetch retrieved only what we requested |
2599 | - self.assertEqual({('tree-root', 'rev2'):(('tree-root', 'rev1'),)}, |
2600 | - repo.texts.get_parent_map([('tree-root', 'rev2')])) |
2601 | + self.assertEqual({(b'tree-root', b'rev2'):((b'tree-root', b'rev1'),)}, |
2602 | + repo.texts.get_parent_map([(b'tree-root', b'rev2')])) |
2603 | finally: |
2604 | repo.unlock() |
2605 | |
2606 | |
2607 | === modified file 'breezy/tests/test_inv.py' |
2608 | --- breezy/tests/test_inv.py 2018-05-22 02:05:12 +0000 |
2609 | +++ breezy/tests/test_inv.py 2018-06-21 23:03:57 +0000 |
2610 | @@ -23,6 +23,7 @@ |
2611 | tests, |
2612 | workingtree, |
2613 | ) |
2614 | +from ..sixish import text_type |
2615 | from ..bzr import ( |
2616 | chk_map, |
2617 | groupcompress, |
2618 | @@ -1228,7 +1229,7 @@ |
2619 | b'file-rev-id\nabcdefgh\n100\nY', bytes) |
2620 | ie2 = inv._bytes_to_entry(bytes) |
2621 | self.assertEqual(ie, ie2) |
2622 | - self.assertIsInstance(ie2.name, unicode) |
2623 | + self.assertIsInstance(ie2.name, text_type) |
2624 | self.assertEqual(('filename', b'file-id', b'file-rev-id'), |
2625 | inv._bytes_to_utf8name_key(bytes)) |
2626 | |
2627 | @@ -1245,7 +1246,7 @@ |
2628 | b'file-rev-id\n123456\n25\nN', bytes) |
2629 | ie2 = inv._bytes_to_entry(bytes) |
2630 | self.assertEqual(ie, ie2) |
2631 | - self.assertIsInstance(ie2.name, unicode) |
2632 | + self.assertIsInstance(ie2.name, text_type) |
2633 | self.assertEqual((b'\xce\xa9name', b'file-id', b'file-rev-id'), |
2634 | inv._bytes_to_utf8name_key(bytes)) |
2635 | |
2636 | @@ -1257,7 +1258,7 @@ |
2637 | self.assertEqual(b'dir: dir-id\nparent-id\ndirname\ndir-rev-id', bytes) |
2638 | ie2 = inv._bytes_to_entry(bytes) |
2639 | self.assertEqual(ie, ie2) |
2640 | - self.assertIsInstance(ie2.name, unicode) |
2641 | + self.assertIsInstance(ie2.name, text_type) |
2642 | self.assertEqual(('dirname', b'dir-id', b'dir-rev-id'), |
2643 | inv._bytes_to_utf8name_key(bytes)) |
2644 | |
2645 | @@ -1271,7 +1272,7 @@ |
2646 | b'dir-rev-id', bytes) |
2647 | ie2 = inv._bytes_to_entry(bytes) |
2648 | self.assertEqual(ie, ie2) |
2649 | - self.assertIsInstance(ie2.name, unicode) |
2650 | + self.assertIsInstance(ie2.name, text_type) |
2651 | self.assertIs(ie2.parent_id, None) |
2652 | self.assertEqual(('dir\xce\xa9name', b'dir-id', b'dir-rev-id'), |
2653 | inv._bytes_to_utf8name_key(bytes)) |
2654 | @@ -1286,8 +1287,8 @@ |
2655 | 'link-rev-id\ntarget/path', bytes) |
2656 | ie2 = inv._bytes_to_entry(bytes) |
2657 | self.assertEqual(ie, ie2) |
2658 | - self.assertIsInstance(ie2.name, unicode) |
2659 | - self.assertIsInstance(ie2.symlink_target, unicode) |
2660 | + self.assertIsInstance(ie2.name, text_type) |
2661 | + self.assertIsInstance(ie2.symlink_target, text_type) |
2662 | self.assertEqual(('linkname', 'link-id', 'link-rev-id'), |
2663 | inv._bytes_to_utf8name_key(bytes)) |
2664 | |
2665 | @@ -1301,8 +1302,8 @@ |
2666 | 'link-rev-id\ntarget/\xce\xa9path', bytes) |
2667 | ie2 = inv._bytes_to_entry(bytes) |
2668 | self.assertEqual(ie, ie2) |
2669 | - self.assertIsInstance(ie2.name, unicode) |
2670 | - self.assertIsInstance(ie2.symlink_target, unicode) |
2671 | + self.assertIsInstance(ie2.name, text_type) |
2672 | + self.assertIsInstance(ie2.symlink_target, text_type) |
2673 | self.assertEqual(('link\xce\xa9name', 'link-id', 'link-rev-id'), |
2674 | inv._bytes_to_utf8name_key(bytes)) |
2675 | |
2676 | @@ -1317,7 +1318,7 @@ |
2677 | 'tree-rev-id\nref-rev-id', bytes) |
2678 | ie2 = inv._bytes_to_entry(bytes) |
2679 | self.assertEqual(ie, ie2) |
2680 | - self.assertIsInstance(ie2.name, unicode) |
2681 | + self.assertIsInstance(ie2.name, text_type) |
2682 | self.assertEqual(('tree\xce\xa9name', 'tree-root-id', 'tree-rev-id'), |
2683 | inv._bytes_to_utf8name_key(bytes)) |
2684 | |
2685 | |
2686 | === modified file 'breezy/tests/test_mail_client.py' |
2687 | --- breezy/tests/test_mail_client.py 2017-07-16 01:55:39 +0000 |
2688 | +++ breezy/tests/test_mail_client.py 2018-06-21 23:03:57 +0000 |
2689 | @@ -21,6 +21,8 @@ |
2690 | urlutils, |
2691 | osutils, |
2692 | ) |
2693 | +from ..sixish import text_type |
2694 | + |
2695 | |
2696 | class TestMutt(tests.TestCase): |
2697 | |
2698 | @@ -43,7 +45,7 @@ |
2699 | ['-s', 'Hi there!', '-a', 'file%', '--', 'jrandom@example.org'], |
2700 | cmdline) |
2701 | for item in cmdline: |
2702 | - self.assertFalse(isinstance(item, unicode), |
2703 | + self.assertFalse(isinstance(item, text_type), |
2704 | 'Command-line item %r is unicode!' % item) |
2705 | |
2706 | |
2707 | @@ -73,7 +75,7 @@ |
2708 | "subject='Hi there!',to='jrandom@example.org'", |
2709 | ], cmdline) |
2710 | for item in cmdline: |
2711 | - self.assertFalse(isinstance(item, unicode), |
2712 | + self.assertFalse(isinstance(item, text_type), |
2713 | 'Command-line item %r is unicode!' % item) |
2714 | |
2715 | |
2716 | @@ -110,7 +112,7 @@ |
2717 | if eclient.elisp_tmp_file is not None: |
2718 | self.addCleanup(osutils.delete_any, eclient.elisp_tmp_file) |
2719 | for item in commandline: |
2720 | - self.assertFalse(isinstance(item, unicode), |
2721 | + self.assertFalse(isinstance(item, text_type), |
2722 | 'Command-line item %r is unicode!' % item) |
2723 | |
2724 | |
2725 | @@ -139,7 +141,7 @@ |
2726 | '--attach', 'file%'], |
2727 | cmdline) |
2728 | for item in cmdline: |
2729 | - self.assertFalse(isinstance(item, unicode), |
2730 | + self.assertFalse(isinstance(item, text_type), |
2731 | 'Command-line item %r is unicode!' % item) |
2732 | |
2733 | |
2734 | @@ -163,7 +165,7 @@ |
2735 | ], |
2736 | cmdline) |
2737 | for item in cmdline: |
2738 | - self.assertFalse(isinstance(item, unicode), |
2739 | + self.assertFalse(isinstance(item, text_type), |
2740 | 'Command-line item %r is unicode!' % item) |
2741 | |
2742 | |
2743 | @@ -186,7 +188,7 @@ |
2744 | ['-s', 'Hi there!', '--attach', 'file%', 'jrandom@example.org'], |
2745 | cmdline) |
2746 | for item in cmdline: |
2747 | - self.assertFalse(isinstance(item, unicode), |
2748 | + self.assertFalse(isinstance(item, text_type), |
2749 | 'Command-line item %r is unicode!' % item) |
2750 | |
2751 | |
2752 | @@ -219,7 +221,7 @@ |
2753 | 'file%'], |
2754 | cmdline) |
2755 | for item in cmdline: |
2756 | - self.assertFalse(isinstance(item, unicode), |
2757 | + self.assertFalse(isinstance(item, text_type), |
2758 | 'Command-line item %r is unicode!' % item) |
2759 | |
2760 | def test_with_from(self): |
2761 | |
2762 | === modified file 'breezy/tests/test_memorytree.py' |
2763 | --- breezy/tests/test_memorytree.py 2018-02-18 15:21:06 +0000 |
2764 | +++ breezy/tests/test_memorytree.py 2018-06-21 23:03:57 +0000 |
2765 | @@ -110,8 +110,8 @@ |
2766 | tree.lock_write() |
2767 | tree.add(['', 'foo'], ids=[b'root-id', b'foo-id'], |
2768 | kinds=['directory', 'file']) |
2769 | - tree.put_file_bytes_non_atomic('foo', 'barshoom') |
2770 | - self.assertEqual('barshoom', tree.get_file('foo').read()) |
2771 | + tree.put_file_bytes_non_atomic('foo', b'barshoom') |
2772 | + self.assertEqual(b'barshoom', tree.get_file('foo').read()) |
2773 | tree.unlock() |
2774 | |
2775 | def test_put_existing_file(self): |
2776 | @@ -120,9 +120,9 @@ |
2777 | tree.lock_write() |
2778 | tree.add(['', 'foo'], ids=[b'root-id', b'foo-id'], |
2779 | kinds=['directory', 'file']) |
2780 | - tree.put_file_bytes_non_atomic('foo', 'first-content') |
2781 | - tree.put_file_bytes_non_atomic('foo', 'barshoom') |
2782 | - self.assertEqual('barshoom', tree.get_file('foo').read()) |
2783 | + tree.put_file_bytes_non_atomic('foo', b'first-content') |
2784 | + tree.put_file_bytes_non_atomic('foo', b'barshoom') |
2785 | + self.assertEqual(b'barshoom', tree.get_file('foo').read()) |
2786 | tree.unlock() |
2787 | |
2788 | def test_add_in_subdir(self): |
2789 | @@ -135,11 +135,11 @@ |
2790 | # that *always* adds the directory as well. So if you want to create a |
2791 | # file in a subdirectory, you have to split out the 'mkdir()' calls |
2792 | # from the add and put_file_bytes_non_atomic calls. :( |
2793 | - tree.mkdir('adir', 'dir-id') |
2794 | + tree.mkdir('adir', b'dir-id') |
2795 | tree.add(['adir/afile'], [b'file-id'], ['file']) |
2796 | self.assertEqual('adir/afile', tree.id2path(b'file-id')) |
2797 | self.assertEqual('adir', tree.id2path(b'dir-id')) |
2798 | - tree.put_file_bytes_non_atomic('adir/afile', 'barshoom') |
2799 | + tree.put_file_bytes_non_atomic('adir/afile', b'barshoom') |
2800 | |
2801 | def test_commit_trivial(self): |
2802 | """Smoke test for commit on a MemoryTree. |
2803 | @@ -152,7 +152,7 @@ |
2804 | tree.lock_write() |
2805 | tree.add(['', 'foo'], ids=[b'root-id', b'foo-id'], |
2806 | kinds=['directory', 'file']) |
2807 | - tree.put_file_bytes_non_atomic('foo', 'barshoom') |
2808 | + tree.put_file_bytes_non_atomic('foo', b'barshoom') |
2809 | revision_id = tree.commit('message baby') |
2810 | # the parents list for the tree should have changed. |
2811 | self.assertEqual([revision_id], tree.get_parent_ids()) |
2812 | @@ -161,7 +161,8 @@ |
2813 | revtree = tree.branch.repository.revision_tree(revision_id) |
2814 | revtree.lock_read() |
2815 | self.addCleanup(revtree.unlock) |
2816 | - self.assertEqual('barshoom', revtree.get_file('foo').read()) |
2817 | + with revtree.get_file('foo') as f: |
2818 | + self.assertEqual(b'barshoom', f.read()) |
2819 | |
2820 | def test_unversion(self): |
2821 | """Some test for unversion of a memory tree.""" |
2822 | @@ -189,7 +190,7 @@ |
2823 | tree.lock_write() |
2824 | self.addCleanup(tree.unlock) |
2825 | tree.add(['', 'foo'], [b'root-id', b'foo-id'], ['directory', 'file']) |
2826 | - tree.put_file_bytes_non_atomic('foo', 'content\n') |
2827 | + tree.put_file_bytes_non_atomic('foo', b'content\n') |
2828 | tree.commit('one', rev_id=b'rev-one') |
2829 | tree.rename_one('foo', 'bar') |
2830 | self.assertEqual('bar', tree.id2path(b'foo-id')) |
2831 | @@ -197,13 +198,13 @@ |
2832 | self.assertRaises(errors.NoSuchFile, |
2833 | tree._file_transport.get_bytes, 'foo') |
2834 | tree.commit('two', rev_id=b'rev-two') |
2835 | - self.assertEqual('content\n', tree._file_transport.get_bytes('bar')) |
2836 | + self.assertEqual(b'content\n', tree._file_transport.get_bytes('bar')) |
2837 | self.assertRaises(errors.NoSuchFile, |
2838 | tree._file_transport.get_bytes, 'foo') |
2839 | |
2840 | rev_tree2 = tree.branch.repository.revision_tree(b'rev-two') |
2841 | self.assertEqual('bar', rev_tree2.id2path(b'foo-id')) |
2842 | - self.assertEqual('content\n', rev_tree2.get_file_text('bar')) |
2843 | + self.assertEqual(b'content\n', rev_tree2.get_file_text('bar')) |
2844 | |
2845 | def test_rename_file_to_subdir(self): |
2846 | tree = self.make_branch_and_memory_tree('branch') |
2847 | @@ -212,7 +213,7 @@ |
2848 | tree.add('') |
2849 | tree.mkdir('subdir', b'subdir-id') |
2850 | tree.add('foo', b'foo-id', 'file') |
2851 | - tree.put_file_bytes_non_atomic('foo', 'content\n') |
2852 | + tree.put_file_bytes_non_atomic('foo', b'content\n') |
2853 | tree.commit('one', rev_id=b'rev-one') |
2854 | |
2855 | tree.rename_one('foo', 'subdir/bar') |
2856 | |
2857 | === modified file 'breezy/tests/test_osutils.py' |
2858 | --- breezy/tests/test_osutils.py 2018-02-18 15:21:06 +0000 |
2859 | +++ breezy/tests/test_osutils.py 2018-06-21 23:03:57 +0000 |
2860 | @@ -38,6 +38,7 @@ |
2861 | ) |
2862 | from ..sixish import ( |
2863 | BytesIO, |
2864 | + text_type, |
2865 | ) |
2866 | from . import ( |
2867 | features, |
2868 | @@ -405,7 +406,7 @@ |
2869 | self.assertRaises(osutils.UnsupportedTimezoneFormat, |
2870 | osutils.format_date, 0, timezone='foo') |
2871 | self.assertIsInstance(osutils.format_date(0), str) |
2872 | - self.assertIsInstance(osutils.format_local_date(0), unicode) |
2873 | + self.assertIsInstance(osutils.format_local_date(0), text_type) |
2874 | # Testing for the actual value of the local weekday without |
2875 | # duplicating the code from format_date is difficult. |
2876 | # Instead blackbox.test_locale should check for localized |
2877 | @@ -1397,11 +1398,11 @@ |
2878 | # all abspaths are Unicode, and encode them back into utf8. |
2879 | for dirdetail, dirblock in osutils._walkdirs_utf8('.'): |
2880 | self.assertIsInstance(dirdetail[0], str) |
2881 | - if isinstance(dirdetail[1], unicode): |
2882 | + if isinstance(dirdetail[1], text_type): |
2883 | dirdetail = (dirdetail[0], dirdetail[1].encode('utf8')) |
2884 | dirblock = [list(info) for info in dirblock] |
2885 | for info in dirblock: |
2886 | - self.assertIsInstance(info[4], unicode) |
2887 | + self.assertIsInstance(info[4], text_type) |
2888 | info[4] = info[4].encode('utf8') |
2889 | new_dirblock = [] |
2890 | for info in dirblock: |
2891 | @@ -2137,13 +2138,13 @@ |
2892 | def test_is_unicode(self): |
2893 | self.overrideEnv('BRZ_TEST_PATH', './anywhere at all/') |
2894 | path = osutils.path_from_environ('BRZ_TEST_PATH') |
2895 | - self.assertIsInstance(path, unicode) |
2896 | + self.assertIsInstance(path, text_type) |
2897 | self.assertEqual(u'./anywhere at all/', path) |
2898 | |
2899 | def test_posix_path_env_ascii(self): |
2900 | self.overrideEnv('BRZ_TEST_PATH', '/tmp') |
2901 | home = osutils._posix_path_from_environ('BRZ_TEST_PATH') |
2902 | - self.assertIsInstance(home, unicode) |
2903 | + self.assertIsInstance(home, text_type) |
2904 | self.assertEqual(u'/tmp', home) |
2905 | |
2906 | def test_posix_path_env_unicode(self): |
2907 | @@ -2164,17 +2165,17 @@ |
2908 | |
2909 | def test_is_unicode(self): |
2910 | home = osutils._get_home_dir() |
2911 | - self.assertIsInstance(home, unicode) |
2912 | + self.assertIsInstance(home, text_type) |
2913 | |
2914 | def test_posix_homeless(self): |
2915 | self.overrideEnv('HOME', None) |
2916 | home = osutils._get_home_dir() |
2917 | - self.assertIsInstance(home, unicode) |
2918 | + self.assertIsInstance(home, text_type) |
2919 | |
2920 | def test_posix_home_ascii(self): |
2921 | self.overrideEnv('HOME', '/home/test') |
2922 | home = osutils._posix_get_home_dir() |
2923 | - self.assertIsInstance(home, unicode) |
2924 | + self.assertIsInstance(home, text_type) |
2925 | self.assertEqual(u'/home/test', home) |
2926 | |
2927 | def test_posix_home_unicode(self): |
2928 | @@ -2193,7 +2194,7 @@ |
2929 | |
2930 | def test_is_unicode(self): |
2931 | user = osutils.getuser_unicode() |
2932 | - self.assertIsInstance(user, unicode) |
2933 | + self.assertIsInstance(user, text_type) |
2934 | |
2935 | def envvar_to_override(self): |
2936 | if sys.platform == "win32": |
2937 | |
2938 | === modified file 'breezy/tests/test_read_bundle.py' |
2939 | --- breezy/tests/test_read_bundle.py 2018-02-18 15:21:06 +0000 |
2940 | +++ breezy/tests/test_read_bundle.py 2018-06-21 23:03:57 +0000 |
2941 | @@ -22,6 +22,7 @@ |
2942 | from .. import errors |
2943 | from ..sixish import ( |
2944 | BytesIO, |
2945 | + text_type, |
2946 | ) |
2947 | from .. import tests |
2948 | from .test_transport import TestTransportImplementation |
2949 | @@ -88,7 +89,7 @@ |
2950 | |
2951 | def test_read_mergeable_from_url(self): |
2952 | info = self.read_mergeable_from_url( |
2953 | - unicode(self.get_url(self.bundle_name))) |
2954 | + text_type(self.get_url(self.bundle_name))) |
2955 | revision = info.real_revisions[-1] |
2956 | self.assertEqual('commit-1', revision.revision_id) |
2957 | |
2958 | @@ -107,6 +108,6 @@ |
2959 | # transports (the test will fail even). |
2960 | raise tests.TestSkipped( |
2961 | 'Need a ConnectedTransport to test transport reuse') |
2962 | - url = unicode(self.get_url(self.bundle_name)) |
2963 | + url = text_type(self.get_url(self.bundle_name)) |
2964 | info = self.read_mergeable_from_url(url) |
2965 | self.assertEqual(1, len(self.possible_transports)) |
2966 | |
2967 | === modified file 'breezy/tests/test_repository.py' |
2968 | --- breezy/tests/test_repository.py 2018-05-22 02:05:12 +0000 |
2969 | +++ breezy/tests/test_repository.py 2018-06-21 23:03:57 +0000 |
2970 | @@ -242,8 +242,9 @@ |
2971 | # empty revision-store directory |
2972 | # empty weaves directory |
2973 | t = control.get_repository_transport(None) |
2974 | - self.assertEqualDiff('Bazaar-NG Knit Repository Format 1', |
2975 | - t.get('format').read()) |
2976 | + with t.get('format') as f: |
2977 | + self.assertEqualDiff(b'Bazaar-NG Knit Repository Format 1', |
2978 | + f.read()) |
2979 | # XXX: no locks left when unlocked at the moment |
2980 | # self.assertEqualDiff('', t.get('lock').read()) |
2981 | self.assertTrue(S_ISDIR(t.stat('knits').st_mode)) |
2982 | @@ -251,8 +252,8 @@ |
2983 | # Check per-file knits. |
2984 | branch = control.create_branch() |
2985 | tree = control.create_workingtree() |
2986 | - tree.add(['foo'], ['Nasty-IdC:'], ['file']) |
2987 | - tree.put_file_bytes_non_atomic('foo', '') |
2988 | + tree.add(['foo'], [b'Nasty-IdC:'], ['file']) |
2989 | + tree.put_file_bytes_non_atomic('foo', b'') |
2990 | tree.commit('1st post', rev_id=b'foo') |
2991 | self.assertHasKnit(t, 'knits/e8/%254easty-%2549d%2543%253a', |
2992 | '\nfoo fulltext 0 81 :') |
2993 | |
2994 | === modified file 'breezy/tests/test_transform.py' |
2995 | --- breezy/tests/test_transform.py 2018-06-14 12:13:00 +0000 |
2996 | +++ breezy/tests/test_transform.py 2018-06-21 23:03:57 +0000 |
2997 | @@ -61,6 +61,7 @@ |
2998 | from ..mutabletree import MutableTree |
2999 | from ..sixish import ( |
3000 | BytesIO, |
3001 | + text_type, |
3002 | ) |
3003 | from . import ( |
3004 | features, |
3005 | @@ -877,7 +878,7 @@ |
3006 | raw_conflicts = resolve_conflicts(tt) |
3007 | cooked_conflicts = cook_conflicts(raw_conflicts, tt) |
3008 | tt.finalize() |
3009 | - conflicts_s = [unicode(c) for c in cooked_conflicts] |
3010 | + conflicts_s = [text_type(c) for c in cooked_conflicts] |
3011 | self.assertEqual(len(cooked_conflicts), len(conflicts_s)) |
3012 | self.assertEqual(conflicts_s[0], 'Conflict adding file dorothy. ' |
3013 | 'Moved existing file to ' |
3014 | |
3015 | === modified file 'breezy/tests/test_urlutils.py' |
3016 | --- breezy/tests/test_urlutils.py 2018-05-27 18:00:21 +0000 |
3017 | +++ breezy/tests/test_urlutils.py 2018-06-21 23:03:57 +0000 |
3018 | @@ -23,6 +23,7 @@ |
3019 | from ..errors import ( |
3020 | PathNotChild, |
3021 | ) |
3022 | +from ..sixish import text_type |
3023 | from . import features, TestCaseInTempDir, TestCase, TestSkipped |
3024 | |
3025 | |
3026 | @@ -411,7 +412,7 @@ |
3027 | raise TestSkipped("local encoding cannot handle unicode") |
3028 | |
3029 | self.assertEqual('file:///D:/path/to/r%C3%A4ksm%C3%B6rg%C3%A5s', result) |
3030 | - self.assertFalse(isinstance(result, unicode)) |
3031 | + self.assertFalse(isinstance(result, text_type)) |
3032 | |
3033 | def test_win32_unc_path_to_url(self): |
3034 | self.requireFeature(features.win32_feature) |
3035 | @@ -427,7 +428,7 @@ |
3036 | raise TestSkipped("local encoding cannot handle unicode") |
3037 | |
3038 | self.assertEqual('file://HOST/path/to/r%C3%A4ksm%C3%B6rg%C3%A5s', result) |
3039 | - self.assertFalse(isinstance(result, unicode)) |
3040 | + self.assertFalse(isinstance(result, text_type)) |
3041 | |
3042 | def test_win32_local_path_from_url(self): |
3043 | from_url = urlutils._win32_local_path_from_url |
3044 | @@ -610,7 +611,7 @@ |
3045 | # Test that URLs are converted to nice unicode strings for display |
3046 | def test(expected, url, encoding='utf-8'): |
3047 | disp_url = urlutils.unescape_for_display(url, encoding=encoding) |
3048 | - self.assertIsInstance(disp_url, unicode) |
3049 | + self.assertIsInstance(disp_url, text_type) |
3050 | self.assertEqual(expected, disp_url) |
3051 | |
3052 | test('http://foo', 'http://foo') |
3053 | @@ -650,7 +651,7 @@ |
3054 | def test_escape(self): |
3055 | self.assertEqual('%25', urlutils.escape('%')) |
3056 | self.assertEqual('%C3%A5', urlutils.escape(u'\xe5')) |
3057 | - self.assertFalse(isinstance(urlutils.escape(u'\xe5'), unicode)) |
3058 | + self.assertFalse(isinstance(urlutils.escape(u'\xe5'), text_type)) |
3059 | |
3060 | def test_escape_tildes(self): |
3061 | self.assertEqual('~foo', urlutils.escape('~foo')) |
3062 | |
3063 | === modified file 'breezy/tests/test_workingtree_4.py' |
3064 | --- breezy/tests/test_workingtree_4.py 2018-06-14 12:13:00 +0000 |
3065 | +++ breezy/tests/test_workingtree_4.py 2018-06-21 23:03:57 +0000 |
3066 | @@ -281,17 +281,17 @@ |
3067 | builder.start_series() |
3068 | self.addCleanup(builder.finish_series) |
3069 | builder.build_snapshot([], [ |
3070 | - ('add', ('', 'root-id', 'directory', None)), |
3071 | - ('add', ('a', 'a-id', 'file', 'content\n'))], |
3072 | + ('add', ('', b'root-id', 'directory', None)), |
3073 | + ('add', ('a', b'a-id', 'file', b'content\n'))], |
3074 | revision_id=b'A') |
3075 | - builder.build_snapshot(['A'], [ |
3076 | - ('modify', ('a', 'new content\nfor a\n')), |
3077 | - ('add', ('b', 'b-id', 'file', 'b-content\n'))], |
3078 | + builder.build_snapshot([b'A'], [ |
3079 | + ('modify', ('a', b'new content\nfor a\n')), |
3080 | + ('add', ('b', b'b-id', 'file', b'b-content\n'))], |
3081 | revision_id=b'B') |
3082 | tree = self.make_workingtree('tree') |
3083 | source_branch = builder.get_branch() |
3084 | - tree.branch.repository.fetch(source_branch.repository, 'B') |
3085 | - tree.pull(source_branch, stop_revision='A') |
3086 | + tree.branch.repository.fetch(source_branch.repository, b'B') |
3087 | + tree.pull(source_branch, stop_revision=b'A') |
3088 | tree.lock_write() |
3089 | self.addCleanup(tree.unlock) |
3090 | state = tree.current_dirstate() |
3091 | @@ -302,37 +302,37 @@ |
3092 | return orig_update(delta, new_revid) |
3093 | state.update_basis_by_delta = log_update_basis_by_delta |
3094 | basis = tree.basis_tree() |
3095 | - self.assertEqual('a-id', basis.path2id('a')) |
3096 | + self.assertEqual(b'a-id', basis.path2id('a')) |
3097 | self.assertFalse(basis.is_versioned('b')) |
3098 | def fail_set_parent_trees(trees, ghosts): |
3099 | raise AssertionError('dirstate.set_parent_trees() was called') |
3100 | state.set_parent_trees = fail_set_parent_trees |
3101 | repo = tree.branch.repository |
3102 | - tree.pull(source_branch, stop_revision='B') |
3103 | - self.assertEqual(['B'], called) |
3104 | + tree.pull(source_branch, stop_revision=b'B') |
3105 | + self.assertEqual([b'B'], called) |
3106 | basis = tree.basis_tree() |
3107 | - self.assertEqual('a-id', basis.path2id('a')) |
3108 | - self.assertEqual('b-id', basis.path2id('b')) |
3109 | + self.assertEqual(b'a-id', basis.path2id('a')) |
3110 | + self.assertEqual(b'b-id', basis.path2id('b')) |
3111 | |
3112 | def test_set_parent_trees_handles_missing_basis(self): |
3113 | builder = self.make_branch_builder('source') |
3114 | builder.start_series() |
3115 | self.addCleanup(builder.finish_series) |
3116 | builder.build_snapshot([], [ |
3117 | - ('add', ('', 'root-id', 'directory', None)), |
3118 | - ('add', ('a', 'a-id', 'file', 'content\n'))], |
3119 | + ('add', ('', b'root-id', 'directory', None)), |
3120 | + ('add', ('a', b'a-id', 'file', b'content\n'))], |
3121 | revision_id=b'A') |
3122 | - builder.build_snapshot(['A'], [ |
3123 | - ('modify', ('a', 'new content\nfor a\n')), |
3124 | - ('add', ('b', 'b-id', 'file', 'b-content\n'))], |
3125 | + builder.build_snapshot([b'A'], [ |
3126 | + ('modify', ('a', b'new content\nfor a\n')), |
3127 | + ('add', ('b', b'b-id', 'file', b'b-content\n'))], |
3128 | revision_id=b'B') |
3129 | - builder.build_snapshot(['A'], [ |
3130 | - ('add', ('c', 'c-id', 'file', 'c-content\n'))], |
3131 | + builder.build_snapshot([b'A'], [ |
3132 | + ('add', ('c', b'c-id', 'file', b'c-content\n'))], |
3133 | revision_id=b'C') |
3134 | b_c = self.make_branch('branch_with_c') |
3135 | - b_c.pull(builder.get_branch(), stop_revision='C') |
3136 | + b_c.pull(builder.get_branch(), stop_revision=b'C') |
3137 | b_b = self.make_branch('branch_with_b') |
3138 | - b_b.pull(builder.get_branch(), stop_revision='B') |
3139 | + b_b.pull(builder.get_branch(), stop_revision=b'B') |
3140 | # This is reproducing some of what 'switch' does, just to isolate the |
3141 | # set_parent_trees() step. |
3142 | wt = b_b.create_checkout('tree', lightweight=True) |
3143 | @@ -340,7 +340,7 @@ |
3144 | fmt.set_reference(wt.controldir, None, b_c) |
3145 | # Re-open with the new reference |
3146 | wt = wt.controldir.open_workingtree() |
3147 | - wt.set_parent_trees([('C', b_c.repository.revision_tree(b'C'))]) |
3148 | + wt.set_parent_trees([(b'C', b_c.repository.revision_tree(b'C'))]) |
3149 | self.assertFalse(wt.basis_tree().is_versioned('b')) |
3150 | |
3151 | def test_new_dirstate_on_new_lock(self): |
3152 | |
3153 | === modified file 'breezy/transform.py' |
3154 | --- breezy/transform.py 2018-06-12 23:20:41 +0000 |
3155 | +++ breezy/transform.py 2018-06-21 23:03:57 +0000 |
3156 | @@ -66,6 +66,7 @@ |
3157 | ) |
3158 | from .progress import ProgressPhase |
3159 | from .sixish import ( |
3160 | + text_type, |
3161 | viewitems, |
3162 | viewvalues, |
3163 | ) |
3164 | @@ -2122,7 +2123,7 @@ |
3165 | if file_id is None: |
3166 | continue |
3167 | if (specific_files is not None and |
3168 | - unicode(self._final_paths.get_path(trans_id)) not in specific_files): |
3169 | + self._final_paths.get_path(trans_id) not in specific_files): |
3170 | continue |
3171 | kind = self._transform.final_kind(trans_id) |
3172 | if kind is None: |
3173 | @@ -2167,7 +2168,7 @@ |
3174 | ordered_ids = self._list_files_by_dir() |
3175 | for entry, trans_id in self._make_inv_entries(ordered_ids, |
3176 | specific_files): |
3177 | - yield unicode(self._final_paths.get_path(trans_id)), entry |
3178 | + yield self._final_paths.get_path(trans_id), entry |
3179 | |
3180 | def _iter_entries_for_dir(self, dir_path): |
3181 | """Return path, entry for items in a directory without recursing down.""" |
3182 | @@ -2177,7 +2178,7 @@ |
3183 | for child_trans_id in self._all_children(dir_trans_id): |
3184 | ordered_ids.append((child_trans_id, dir_id)) |
3185 | for entry, trans_id in self._make_inv_entries(ordered_ids): |
3186 | - yield unicode(self._final_paths.get_path(trans_id)), entry |
3187 | + yield self._final_paths.get_path(trans_id), entry |
3188 | |
3189 | def list_files(self, include_root=False, from_dir=None, recursive=True): |
3190 | """See WorkingTree.list_files.""" |
3191 | @@ -2622,7 +2623,7 @@ |
3192 | precomputed_delta = None |
3193 | conflicts = cook_conflicts(raw_conflicts, tt) |
3194 | for conflict in conflicts: |
3195 | - trace.warning(unicode(conflict)) |
3196 | + trace.warning(text_type(conflict)) |
3197 | try: |
3198 | wt.add_conflicts(conflicts) |
3199 | except errors.UnsupportedOperation: |
3200 | @@ -2814,7 +2815,7 @@ |
3201 | unversioned_filter=working_tree.is_ignored) |
3202 | delta.report_changes(tt.iter_changes(), change_reporter) |
3203 | for conflict in conflicts: |
3204 | - trace.warning(unicode(conflict)) |
3205 | + trace.warning(text_type(conflict)) |
3206 | pp.next_phase() |
3207 | tt.apply() |
3208 | if working_tree.supports_merge_modified(): |
3209 | |
3210 | === modified file 'breezy/transport/gio_transport.py' |
3211 | --- breezy/transport/gio_transport.py 2017-09-26 00:55:04 +0000 |
3212 | +++ breezy/transport/gio_transport.py 2018-06-21 23:03:57 +0000 |
3213 | @@ -51,6 +51,7 @@ |
3214 | ) |
3215 | from ..sixish import ( |
3216 | BytesIO, |
3217 | + text_type, |
3218 | ) |
3219 | from ..trace import mutter |
3220 | from . import ( |
3221 | @@ -153,7 +154,7 @@ |
3222 | |
3223 | def _relpath_to_url(self, relpath): |
3224 | full_url = urlutils.join(self.url, relpath) |
3225 | - if isinstance(full_url, unicode): |
3226 | + if isinstance(full_url, text_type): |
3227 | raise urlutils.InvalidURL(full_url) |
3228 | return full_url |
3229 | |
3230 | |
3231 | === modified file 'breezy/tree.py' |
3232 | --- breezy/tree.py 2018-06-21 22:57:44 +0000 |
3233 | +++ breezy/tree.py 2018-06-21 23:03:57 +0000 |
3234 | @@ -44,6 +44,7 @@ |
3235 | ) |
3236 | from .inter import InterObject |
3237 | from .sixish import ( |
3238 | + text_type, |
3239 | viewvalues, |
3240 | ) |
3241 | |
3242 | @@ -1163,10 +1164,10 @@ |
3243 | # This is stolen from _dirstate_helpers_py.py, only switching it to |
3244 | # Unicode objects. Consider using encode_utf8() and then using the |
3245 | # optimized versions, or maybe writing optimized unicode versions. |
3246 | - if not isinstance(path1, unicode): |
3247 | + if not isinstance(path1, text_type): |
3248 | raise TypeError("'path1' must be a unicode string, not %s: %r" |
3249 | % (type(path1), path1)) |
3250 | - if not isinstance(path2, unicode): |
3251 | + if not isinstance(path2, text_type): |
3252 | raise TypeError("'path2' must be a unicode string, not %s: %r" |
3253 | % (type(path2), path2)) |
3254 | return cmp(MultiWalker._path_to_key(path1), |
3255 | |
3256 | === modified file 'breezy/urlutils.py' |
3257 | --- breezy/urlutils.py 2018-06-21 19:00:42 +0000 |
3258 | +++ breezy/urlutils.py 2018-06-21 23:03:57 +0000 |
3259 | @@ -881,7 +881,7 @@ |
3260 | # pad.lv/1696545: For the moment, accept both native strings and unicode. |
3261 | if isinstance(url, str): |
3262 | pass |
3263 | - elif isinstance(url, unicode): |
3264 | + elif isinstance(url, text_type): |
3265 | try: |
3266 | url = url.encode() |
3267 | except UnicodeEncodeError: |
3268 | |
3269 | === modified file 'breezy/utextwrap.py' |
3270 | --- breezy/utextwrap.py 2017-05-22 00:56:52 +0000 |
3271 | +++ breezy/utextwrap.py 2018-06-21 23:03:57 +0000 |
3272 | @@ -30,6 +30,7 @@ |
3273 | from unicodedata import east_asian_width as _eawidth |
3274 | |
3275 | from . import osutils |
3276 | +from .sixish import text_type |
3277 | |
3278 | __all__ = ["UTextWrapper", "fill", "wrap"] |
3279 | |
3280 | @@ -216,7 +217,7 @@ |
3281 | return lines |
3282 | |
3283 | def _split(self, text): |
3284 | - chunks = textwrap.TextWrapper._split(self, unicode(text)) |
3285 | + chunks = textwrap.TextWrapper._split(self, text) |
3286 | cjk_split_chunks = [] |
3287 | for chunk in chunks: |
3288 | prev_pos = 0 |
3289 | @@ -232,7 +233,7 @@ |
3290 | |
3291 | def wrap(self, text): |
3292 | # ensure text is unicode |
3293 | - return textwrap.TextWrapper.wrap(self, unicode(text)) |
3294 | + return textwrap.TextWrapper.wrap(self, text_type(text)) |
3295 | |
3296 | # -- Convenience interface --------------------------------------------- |
3297 | |
3298 | |
3299 | === modified file 'breezy/version.py' |
3300 | --- breezy/version.py 2018-05-19 12:57:00 +0000 |
3301 | +++ breezy/version.py 2018-06-21 23:03:57 +0000 |
3302 | @@ -30,6 +30,7 @@ |
3303 | osutils, |
3304 | trace, |
3305 | ) |
3306 | +from .sixish import text_type |
3307 | |
3308 | |
3309 | def show_version(show_config=True, show_copyright=True, to_file=None): |
3310 | @@ -80,7 +81,7 @@ |
3311 | to_file.write(breezy.__path__[0] + '\n') |
3312 | if show_config: |
3313 | config_dir = osutils.normpath(config.config_dir()) # use native slashes |
3314 | - if not isinstance(config_dir, unicode): |
3315 | + if not isinstance(config_dir, text_type): |
3316 | config_dir = config_dir.decode(osutils.get_user_encoding()) |
3317 | to_file.write(" Breezy configuration: %s\n" % (config_dir,)) |
3318 | to_file.write(" Breezy log file: ") |
3319 | |
3320 | === modified file 'breezy/win32utils.py' |
3321 | --- breezy/win32utils.py 2017-11-12 13:53:51 +0000 |
3322 | +++ breezy/win32utils.py 2018-06-21 23:03:57 +0000 |
3323 | @@ -271,7 +271,7 @@ |
3324 | if windir: |
3325 | return os.path.splitdrive(windir)[0] + '/' |
3326 | # otherwise C:\ is good enough for 98% users |
3327 | - return unicode('C:/') |
3328 | + return u'C:/' |
3329 | |
3330 | |
3331 | def get_user_name(): |
3332 | |
3333 | === modified file 'python3.passing' |
3334 | --- python3.passing 2018-06-15 13:10:28 +0000 |
3335 | +++ python3.passing 2018-06-21 23:03:57 +0000 |
3336 | @@ -142,6 +142,7 @@ |
3337 | breezy.tests.commands.test_init_repository.TestInitRepository.test_init_repository |
3338 | breezy.tests.commands.test_init.TestInit.test_init |
3339 | breezy.tests.commands.test_merge.TestMerge.test_merge |
3340 | +breezy.tests.commands.test_missing.TestMissing.test_missing |
3341 | breezy.tests.commands.test_pull.TestPull.test_pull |
3342 | breezy.tests.commands.test_pull.TestPull.test_pull_with_bound_branch |
3343 | breezy.tests.commands.test_push.TestPush.test_push |
3344 | @@ -280,6 +281,7 @@ |
3345 | breezy.tests.per_branch.test_branch.TestBranch.test_clone_branch_nickname(RemoteBranchFormat-v2) |
3346 | breezy.tests.per_branch.test_branch.TestBranch.test_clone_branch_nickname(RemoteGitBranchFormat) |
3347 | breezy.tests.per_branch.test_branch.TestBranch.test_clone_branch_parent(BranchReferenceFormat) |
3348 | +breezy.tests.per_branch.test_branch.TestBranch.test_clone_branch_parent(BzrBranchFormat5) |
3349 | breezy.tests.per_branch.test_branch.TestBranch.test_clone_branch_parent(BzrBranchFormat6) |
3350 | breezy.tests.per_branch.test_branch.TestBranch.test_clone_branch_parent(BzrBranchFormat7) |
3351 | breezy.tests.per_branch.test_branch.TestBranch.test_clone_branch_parent(BzrBranchFormat8) |
3352 | @@ -346,6 +348,10 @@ |
3353 | breezy.tests.per_branch.test_branch.TestBranch.test_create_open_branch_uses_repository(RemoteBranchFormat-default) |
3354 | breezy.tests.per_branch.test_branch.TestBranch.test_create_open_branch_uses_repository(RemoteGitBranchFormat) |
3355 | breezy.tests.per_branch.test_branch.TestBranch.test_create_tree_with_merge(BranchReferenceFormat) |
3356 | +breezy.tests.per_branch.test_branch.TestBranch.test_create_tree_with_merge(BzrBranchFormat5) |
3357 | +breezy.tests.per_branch.test_branch.TestBranch.test_create_tree_with_merge(BzrBranchFormat6) |
3358 | +breezy.tests.per_branch.test_branch.TestBranch.test_create_tree_with_merge(BzrBranchFormat7) |
3359 | +breezy.tests.per_branch.test_branch.TestBranch.test_create_tree_with_merge(BzrBranchFormat8) |
3360 | breezy.tests.per_branch.test_branch.TestBranch.test_create_tree_with_merge(RemoteGitBranchFormat) |
3361 | breezy.tests.per_branch.test_branch.TestBranch.test_fetch_revisions(BranchReferenceFormat) |
3362 | breezy.tests.per_branch.test_branch.TestBranch.test_fetch_revisions(BzrBranchFormat5) |
3363 | @@ -437,6 +443,10 @@ |
3364 | breezy.tests.per_branch.test_branch.TestBranch.test_record_initial_ghost(RemoteGitBranchFormat) |
3365 | breezy.tests.per_branch.test_branch.TestBranch.test_record_two_ghosts(BranchReferenceFormat) |
3366 | breezy.tests.per_branch.test_branch.TestBranch.test_record_two_ghosts(BzrBranchFormat4) |
3367 | +breezy.tests.per_branch.test_branch.TestBranch.test_record_two_ghosts(BzrBranchFormat5) |
3368 | +breezy.tests.per_branch.test_branch.TestBranch.test_record_two_ghosts(BzrBranchFormat6) |
3369 | +breezy.tests.per_branch.test_branch.TestBranch.test_record_two_ghosts(BzrBranchFormat7) |
3370 | +breezy.tests.per_branch.test_branch.TestBranch.test_record_two_ghosts(BzrBranchFormat8) |
3371 | breezy.tests.per_branch.test_branch.TestBranch.test_record_two_ghosts(LocalGitBranchFormat) |
3372 | breezy.tests.per_branch.test_branch.TestBranch.test_record_two_ghosts(RemoteBranchFormat-default) |
3373 | breezy.tests.per_branch.test_branch.TestBranch.test_record_two_ghosts(RemoteGitBranchFormat) |
3374 | @@ -778,6 +788,10 @@ |
3375 | breezy.tests.per_branch.test_check.TestBranchCheck.test_check_branch_report_results(RemoteBranchFormat-v2) |
3376 | breezy.tests.per_branch.test_check.TestBranchCheck.test_check_branch_report_results(RemoteGitBranchFormat) |
3377 | breezy.tests.per_branch.test_check.TestBranchCheck.test_check_detects_invalid_revhistory(BranchReferenceFormat) |
3378 | +breezy.tests.per_branch.test_check.TestBranchCheck.test_check_detects_invalid_revhistory(BzrBranchFormat5) |
3379 | +breezy.tests.per_branch.test_check.TestBranchCheck.test_check_detects_invalid_revhistory(BzrBranchFormat6) |
3380 | +breezy.tests.per_branch.test_check.TestBranchCheck.test_check_detects_invalid_revhistory(BzrBranchFormat7) |
3381 | +breezy.tests.per_branch.test_check.TestBranchCheck.test_check_detects_invalid_revhistory(BzrBranchFormat8) |
3382 | breezy.tests.per_branch.test_check.TestBranchCheck.test_check_detects_invalid_revhistory(RemoteGitBranchFormat) |
3383 | breezy.tests.per_branch.test_check.TestBranchCheck.test__get_check_refs(BranchReferenceFormat) |
3384 | breezy.tests.per_branch.test_check.TestBranchCheck.test__get_check_refs(BzrBranchFormat5) |
3385 | @@ -1091,17 +1105,37 @@ |
3386 | breezy.tests.per_branch.test_hooks.TestPreChangeBranchTip.test_nonempty_history(LocalGitBranchFormat) |
3387 | breezy.tests.per_branch.test_hooks.TestPreChangeBranchTip.test_nonempty_history(RemoteGitBranchFormat) |
3388 | breezy.tests.per_branch.test_http.InaccessibleParentTests.test_clone_invalid_parent(BranchReferenceFormat) |
3389 | +breezy.tests.per_branch.test_http.InaccessibleParentTests.test_clone_invalid_parent(BzrBranchFormat4) |
3390 | +breezy.tests.per_branch.test_http.InaccessibleParentTests.test_clone_invalid_parent(BzrBranchFormat5) |
3391 | +breezy.tests.per_branch.test_http.InaccessibleParentTests.test_clone_invalid_parent(BzrBranchFormat6) |
3392 | +breezy.tests.per_branch.test_http.InaccessibleParentTests.test_clone_invalid_parent(BzrBranchFormat7) |
3393 | +breezy.tests.per_branch.test_http.InaccessibleParentTests.test_clone_invalid_parent(BzrBranchFormat8) |
3394 | breezy.tests.per_branch.test_http.InaccessibleParentTests.test_clone_invalid_parent(RemoteGitBranchFormat) |
3395 | breezy.tests.per_branch.test_http.InaccessibleParentTests.test_get_parent_invalid(BranchReferenceFormat) |
3396 | +breezy.tests.per_branch.test_http.InaccessibleParentTests.test_get_parent_invalid(BzrBranchFormat4) |
3397 | +breezy.tests.per_branch.test_http.InaccessibleParentTests.test_get_parent_invalid(BzrBranchFormat5) |
3398 | breezy.tests.per_branch.test_http.InaccessibleParentTests.test_get_parent_invalid(BzrBranchFormat6) |
3399 | breezy.tests.per_branch.test_http.InaccessibleParentTests.test_get_parent_invalid(BzrBranchFormat7) |
3400 | breezy.tests.per_branch.test_http.InaccessibleParentTests.test_get_parent_invalid(BzrBranchFormat8) |
3401 | breezy.tests.per_branch.test_http.InaccessibleParentTests.test_get_parent_invalid(RemoteGitBranchFormat) |
3402 | breezy.tests.per_branch.test_http.InaccessibleParentTests.test_sprout_invalid_parent(BranchReferenceFormat) |
3403 | +breezy.tests.per_branch.test_http.InaccessibleParentTests.test_sprout_invalid_parent(BzrBranchFormat4) |
3404 | +breezy.tests.per_branch.test_http.InaccessibleParentTests.test_sprout_invalid_parent(BzrBranchFormat5) |
3405 | +breezy.tests.per_branch.test_http.InaccessibleParentTests.test_sprout_invalid_parent(BzrBranchFormat6) |
3406 | +breezy.tests.per_branch.test_http.InaccessibleParentTests.test_sprout_invalid_parent(BzrBranchFormat7) |
3407 | +breezy.tests.per_branch.test_http.InaccessibleParentTests.test_sprout_invalid_parent(BzrBranchFormat8) |
3408 | breezy.tests.per_branch.test_http.InaccessibleParentTests.test_sprout_invalid_parent(RemoteGitBranchFormat) |
3409 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_exclude_ancestry(BranchReferenceFormat) |
3410 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_exclude_ancestry(BzrBranchFormat5) |
3411 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_exclude_ancestry(BzrBranchFormat6) |
3412 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_exclude_ancestry(BzrBranchFormat7) |
3413 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_exclude_ancestry(BzrBranchFormat8) |
3414 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_exclude_ancestry(RemoteGitBranchFormat) |
3415 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_starting_at_embedded_merge(BranchReferenceFormat) |
3416 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_starting_at_embedded_merge(BzrBranchFormat5) |
3417 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_starting_at_embedded_merge(BzrBranchFormat6) |
3418 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_starting_at_embedded_merge(BzrBranchFormat7) |
3419 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_starting_at_embedded_merge(BzrBranchFormat8) |
3420 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_starting_at_embedded_merge(RemoteGitBranchFormat) |
3421 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_with_different_depths_merge(BranchReferenceFormat) |
3422 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsBushyGraph.test_merge_sorted_with_different_depths_merge(RemoteGitBranchFormat) |
3423 | @@ -1117,35 +1151,91 @@ |
3424 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_forward(BzrBranchFormat8) |
3425 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_forward(RemoteGitBranchFormat) |
3426 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range(BranchReferenceFormat) |
3427 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range(BzrBranchFormat5) |
3428 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range(BzrBranchFormat6) |
3429 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range(BzrBranchFormat7) |
3430 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range(BzrBranchFormat8) |
3431 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_forward(BranchReferenceFormat) |
3432 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_forward(BzrBranchFormat5) |
3433 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_forward(BzrBranchFormat6) |
3434 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_forward(BzrBranchFormat7) |
3435 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_forward(BzrBranchFormat8) |
3436 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_forward(RemoteGitBranchFormat) |
3437 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range(RemoteGitBranchFormat) |
3438 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_start_only(BranchReferenceFormat) |
3439 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_start_only(BzrBranchFormat5) |
3440 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_start_only(BzrBranchFormat6) |
3441 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_start_only(BzrBranchFormat7) |
3442 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_start_only(BzrBranchFormat8) |
3443 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_start_only_forward(BranchReferenceFormat) |
3444 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_start_only_forward(BzrBranchFormat5) |
3445 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_start_only_forward(BzrBranchFormat6) |
3446 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_start_only_forward(BzrBranchFormat7) |
3447 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_start_only_forward(BzrBranchFormat8) |
3448 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_start_only_forward(RemoteGitBranchFormat) |
3449 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_start_only(RemoteGitBranchFormat) |
3450 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_exclude(BranchReferenceFormat) |
3451 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_exclude_forward(BranchReferenceFormat) |
3452 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_exclude_forward(BzrBranchFormat5) |
3453 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_exclude_forward(BzrBranchFormat6) |
3454 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_exclude_forward(BzrBranchFormat7) |
3455 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_exclude_forward(BzrBranchFormat8) |
3456 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_exclude_forward(RemoteGitBranchFormat) |
3457 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_exclude(RemoteGitBranchFormat) |
3458 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_include(BranchReferenceFormat) |
3459 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_include(BzrBranchFormat5) |
3460 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_include(BzrBranchFormat6) |
3461 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_include(BzrBranchFormat7) |
3462 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_include(BzrBranchFormat8) |
3463 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_include_forward(BranchReferenceFormat) |
3464 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_include_forward(BzrBranchFormat5) |
3465 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_include_forward(BzrBranchFormat6) |
3466 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_include_forward(BzrBranchFormat7) |
3467 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_include_forward(BzrBranchFormat8) |
3468 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_include_forward(RemoteGitBranchFormat) |
3469 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_include(RemoteGitBranchFormat) |
3470 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges(BranchReferenceFormat) |
3471 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges(BzrBranchFormat5) |
3472 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges(BzrBranchFormat6) |
3473 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges(BzrBranchFormat7) |
3474 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges(BzrBranchFormat8) |
3475 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_can_show_non_parents(BranchReferenceFormat) |
3476 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_can_show_non_parents(BzrBranchFormat5) |
3477 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_can_show_non_parents(BzrBranchFormat6) |
3478 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_can_show_non_parents(BzrBranchFormat7) |
3479 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_can_show_non_parents(BzrBranchFormat8) |
3480 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_can_show_non_parents(RemoteGitBranchFormat) |
3481 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_forward(BranchReferenceFormat) |
3482 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_forward(BzrBranchFormat5) |
3483 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_forward(BzrBranchFormat6) |
3484 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_forward(BzrBranchFormat7) |
3485 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_forward(BzrBranchFormat8) |
3486 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_forward(RemoteGitBranchFormat) |
3487 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_ignore_non_parents(BranchReferenceFormat) |
3488 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_ignore_non_parents(BzrBranchFormat5) |
3489 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_ignore_non_parents(BzrBranchFormat6) |
3490 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_ignore_non_parents(BzrBranchFormat7) |
3491 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_ignore_non_parents(BzrBranchFormat8) |
3492 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges_ignore_non_parents(RemoteGitBranchFormat) |
3493 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_range_stop_with_merges(RemoteGitBranchFormat) |
3494 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted(RemoteGitBranchFormat) |
3495 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_exclude(BranchReferenceFormat) |
3496 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_exclude(BzrBranchFormat5) |
3497 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_exclude(BzrBranchFormat6) |
3498 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_exclude(BzrBranchFormat7) |
3499 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_exclude(BzrBranchFormat8) |
3500 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_exclude(RemoteGitBranchFormat) |
3501 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_include(BranchReferenceFormat) |
3502 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_include(BzrBranchFormat5) |
3503 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_include(BzrBranchFormat6) |
3504 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_include(BzrBranchFormat7) |
3505 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_include(BzrBranchFormat8) |
3506 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_include(RemoteGitBranchFormat) |
3507 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_with_merges(BranchReferenceFormat) |
3508 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_with_merges(BzrBranchFormat5) |
3509 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_with_merges(BzrBranchFormat6) |
3510 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_with_merges(BzrBranchFormat7) |
3511 | +breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_with_merges(BzrBranchFormat8) |
3512 | breezy.tests.per_branch.test_iter_merge_sorted_revisions.TestIterMergeSortedRevisionsSimpleGraph.test_merge_sorted_single_stop_with_merges(RemoteGitBranchFormat) |
3513 | breezy.tests.per_branch.test_last_revision_info.TestLastRevisionInfo.test_empty_branch(BranchReferenceFormat) |
3514 | breezy.tests.per_branch.test_last_revision_info.TestLastRevisionInfo.test_empty_branch(BzrBranchFormat4) |
3515 | @@ -1654,6 +1744,10 @@ |
3516 | breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_supports_thorough(BzrBranchFormat8) |
3517 | breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_supports_thorough(RemoteGitBranchFormat) |
3518 | breezy.tests.per_branch.test_revision_id_to_dotted_revno.TestRevisionIdToDottedRevno.test_lookup_dotted_revno(BranchReferenceFormat) |
3519 | +breezy.tests.per_branch.test_revision_id_to_dotted_revno.TestRevisionIdToDottedRevno.test_lookup_dotted_revno(BzrBranchFormat5) |
3520 | +breezy.tests.per_branch.test_revision_id_to_dotted_revno.TestRevisionIdToDottedRevno.test_lookup_dotted_revno(BzrBranchFormat6) |
3521 | +breezy.tests.per_branch.test_revision_id_to_dotted_revno.TestRevisionIdToDottedRevno.test_lookup_dotted_revno(BzrBranchFormat7) |
3522 | +breezy.tests.per_branch.test_revision_id_to_dotted_revno.TestRevisionIdToDottedRevno.test_lookup_dotted_revno(BzrBranchFormat8) |
3523 | breezy.tests.per_branch.test_revision_id_to_dotted_revno.TestRevisionIdToDottedRevno.test_lookup_dotted_revno(RemoteGitBranchFormat) |
3524 | breezy.tests.per_branch.test_revision_id_to_revno.TestRevisionIdToRevno.test_empty(BranchReferenceFormat) |
3525 | breezy.tests.per_branch.test_revision_id_to_revno.TestRevisionIdToRevno.test_empty(RemoteBranchFormat-default) |
3526 | @@ -1676,6 +1770,8 @@ |
3527 | breezy.tests.per_branch.test_sprout.TestSprout.test_sprout_branch_nickname(RemoteBranchFormat-v2) |
3528 | breezy.tests.per_branch.test_sprout.TestSprout.test_sprout_branch_nickname(RemoteGitBranchFormat) |
3529 | breezy.tests.per_branch.test_sprout.TestSprout.test_sprout_branch_parent(BranchReferenceFormat) |
3530 | +breezy.tests.per_branch.test_sprout.TestSprout.test_sprout_branch_parent(BzrBranchFormat4) |
3531 | +breezy.tests.per_branch.test_sprout.TestSprout.test_sprout_branch_parent(BzrBranchFormat5) |
3532 | breezy.tests.per_branch.test_sprout.TestSprout.test_sprout_branch_parent(BzrBranchFormat6) |
3533 | breezy.tests.per_branch.test_sprout.TestSprout.test_sprout_branch_parent(BzrBranchFormat7) |
3534 | breezy.tests.per_branch.test_sprout.TestSprout.test_sprout_branch_parent(BzrBranchFormat8) |
3535 | @@ -2464,10 +2560,12 @@ |
3536 | breezy.tests.per_interrepository.test_interrepository.TestInterRepository.test_interrepository_get_returns_correct_optimiser(InterSameDataRepository,RepositoryFormatKnit3,RepositoryFormatKnit3) |
3537 | breezy.tests.per_intertree.test_compare.TestCompare.test_abc_content_to_empty(InterDirStateTree(C)) |
3538 | breezy.tests.per_intertree.test_compare.TestCompare.test_abc_content_to_empty(InterTree) |
3539 | +breezy.tests.per_intertree.test_compare.TestCompare.test_abc_content_to_empty(InterTree(PreviewTree)) |
3540 | breezy.tests.per_intertree.test_compare.TestCompare.test_compare_empty_trees(InterDirStateTree(C)) |
3541 | breezy.tests.per_intertree.test_compare.TestCompare.test_compare_empty_trees(InterDirStateTree(PY)) |
3542 | breezy.tests.per_intertree.test_compare.TestCompare.test_compare_empty_trees(InterTree) |
3543 | breezy.tests.per_intertree.test_compare.TestCompare.test_compare_empty_trees(InterTree(CHKInventory)) |
3544 | +breezy.tests.per_intertree.test_compare.TestCompare.test_compare_empty_trees(InterTree(PreviewTree)) |
3545 | breezy.tests.per_intertree.test_compare.TestCompare.test_dangling(InterDirStateTree(C)) |
3546 | breezy.tests.per_intertree.test_compare.TestCompare.test_dangling(InterDirStateTree(PY)) |
3547 | breezy.tests.per_intertree.test_compare.TestCompare.test_dangling(InterTree(CHKInventory)) |
3548 | @@ -2475,18 +2573,23 @@ |
3549 | breezy.tests.per_intertree.test_compare.TestCompare.test_default_ignores_unversioned_files(InterDirStateTree(PY)) |
3550 | breezy.tests.per_intertree.test_compare.TestCompare.test_default_ignores_unversioned_files(InterTree) |
3551 | breezy.tests.per_intertree.test_compare.TestCompare.test_default_ignores_unversioned_files(InterTree(CHKInventory)) |
3552 | +breezy.tests.per_intertree.test_compare.TestCompare.test_default_ignores_unversioned_files(InterTree(PreviewTree)) |
3553 | breezy.tests.per_intertree.test_compare.TestCompare.test_empty_to_abc_content_a_and_c_only(InterDirStateTree(C)) |
3554 | breezy.tests.per_intertree.test_compare.TestCompare.test_empty_to_abc_content_a_only(InterDirStateTree(C)) |
3555 | breezy.tests.per_intertree.test_compare.TestCompare.test_empty_to_abc_content_b_only(InterDirStateTree(C)) |
3556 | breezy.tests.per_intertree.test_compare.TestCompare.test_empty_to_abc_content_c_only(InterDirStateTree(C)) |
3557 | breezy.tests.per_intertree.test_compare.TestCompare.test_empty_to_abc_content(InterDirStateTree(C)) |
3558 | breezy.tests.per_intertree.test_compare.TestCompare.test_empty_to_abc_content(InterTree) |
3559 | +breezy.tests.per_intertree.test_compare.TestCompare.test_empty_to_abc_content(InterTree(PreviewTree)) |
3560 | breezy.tests.per_intertree.test_compare.TestCompare.test_extra_trees_finds_ids(InterDirStateTree(C)) |
3561 | breezy.tests.per_intertree.test_compare.TestCompare.test_file_rename_and_meta_modification(InterDirStateTree(C)) |
3562 | breezy.tests.per_intertree.test_compare.TestCompare.test_file_rename_and_meta_modification(InterTree) |
3563 | +breezy.tests.per_intertree.test_compare.TestCompare.test_file_rename_and_meta_modification(InterTree(PreviewTree)) |
3564 | breezy.tests.per_intertree.test_compare.TestCompare.test_file_rename(InterTree) |
3565 | +breezy.tests.per_intertree.test_compare.TestCompare.test_file_rename(InterTree(PreviewTree)) |
3566 | breezy.tests.per_intertree.test_compare.TestCompare.test_meta_modification(InterDirStateTree(C)) |
3567 | breezy.tests.per_intertree.test_compare.TestCompare.test_meta_modification(InterTree) |
3568 | +breezy.tests.per_intertree.test_compare.TestCompare.test_meta_modification(InterTree(PreviewTree)) |
3569 | breezy.tests.per_intertree.test_compare.TestCompare.test_require_versioned(InterDirStateTree(C)) |
3570 | breezy.tests.per_intertree.test_compare.TestCompare.test_require_versioned(InterDirStateTree(PY)) |
3571 | breezy.tests.per_intertree.test_compare.TestCompare.test_require_versioned(InterTree) |
3572 | @@ -2495,16 +2598,21 @@ |
3573 | breezy.tests.per_intertree.test_compare.TestCompare.test_unversioned_paths_in_tree(InterDirStateTree(PY)) |
3574 | breezy.tests.per_intertree.test_compare.TestCompare.test_unversioned_paths_in_tree(InterTree) |
3575 | breezy.tests.per_intertree.test_compare.TestCompare.test_unversioned_paths_in_tree(InterTree(CHKInventory)) |
3576 | +breezy.tests.per_intertree.test_compare.TestCompare.test_unversioned_paths_in_tree(InterTree(PreviewTree)) |
3577 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_abc_content_to_empty_a_only(InterDirStateTree(C)) |
3578 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_abc_content_to_empty_a_only(InterTree) |
3579 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_abc_content_to_empty_a_only(InterTree(PreviewTree)) |
3580 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_abc_content_to_empty_b_only(InterDirStateTree(C)) |
3581 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_abc_content_to_empty_b_only(InterTree) |
3582 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_abc_content_to_empty_b_only(InterTree(PreviewTree)) |
3583 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_abc_content_to_empty(InterDirStateTree(C)) |
3584 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_abc_content_to_empty(InterTree) |
3585 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_abc_content_to_empty(InterTree(PreviewTree)) |
3586 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_compare_empty_trees(InterDirStateTree(C)) |
3587 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_compare_empty_trees(InterDirStateTree(PY)) |
3588 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_compare_empty_trees(InterTree) |
3589 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_compare_empty_trees(InterTree(CHKInventory)) |
3590 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_compare_empty_trees(InterTree(PreviewTree)) |
3591 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_compare_subtrees(InterDirStateTree(C)) |
3592 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_compare_subtrees(InterDirStateTree(PY)) |
3593 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_compare_subtrees(InterTree) |
3594 | @@ -2513,6 +2621,7 @@ |
3595 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_default_ignores_unversioned_files(InterDirStateTree(C)) |
3596 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_default_ignores_unversioned_files(InterTree) |
3597 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_default_ignores_unversioned_files(InterTree(CHKInventory)) |
3598 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_default_ignores_unversioned_files(InterTree(PreviewTree)) |
3599 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_deleted_and_unknown(InterDirStateTree(C)) |
3600 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_deleted_and_unknown(InterTree(CHKInventory)) |
3601 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_disk_in_subtrees_skipped(InterDirStateTree(C)) |
3602 | @@ -2520,28 +2629,37 @@ |
3603 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_disk_in_subtrees_skipped(InterTree(CHKInventory)) |
3604 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_disk_in_subtrees_skipped(InterTree(PreviewTree)) |
3605 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_empty_dir(InterTree) |
3606 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_empty_dir(InterTree(PreviewTree)) |
3607 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_empty_specific_files(InterDirStateTree(C)) |
3608 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_empty_specific_files(InterDirStateTree(PY)) |
3609 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_empty_specific_files(InterTree) |
3610 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_empty_specific_files(InterTree(PreviewTree)) |
3611 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_empty_to_abc_content_a_and_c_only(InterDirStateTree(C)) |
3612 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_empty_to_abc_content_a_only(InterDirStateTree(C)) |
3613 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_empty_to_abc_content(InterDirStateTree(C)) |
3614 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_empty_to_abc_content(InterTree) |
3615 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_empty_to_abc_content(InterTree(PreviewTree)) |
3616 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_file_becomes_unversionable_bug_438569(InterDirStateTree(C)) |
3617 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_file_becomes_unversionable_bug_438569(InterDirStateTree(PY)) |
3618 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_file_becomes_unversionable_bug_438569(InterTree) |
3619 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_file_becomes_unversionable_bug_438569(InterTree(CHKInventory)) |
3620 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_file_becomes_unversionable_bug_438569(InterTree(PreviewTree)) |
3621 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_file_rename_and_meta_modification(InterDirStateTree(C)) |
3622 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_file_rename_and_meta_modification(InterTree) |
3623 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_file_rename_and_meta_modification(InterTree(PreviewTree)) |
3624 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_file_rename(InterTree) |
3625 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_file_rename(InterTree(PreviewTree)) |
3626 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_meta_modification(InterDirStateTree(C)) |
3627 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_meta_modification(InterTree) |
3628 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_meta_modification(InterTree(PreviewTree)) |
3629 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_missing_and_renamed(InterDirStateTree(C)) |
3630 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_missing_and_renamed(InterTree(CHKInventory)) |
3631 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_missing_in_target(InterDirStateTree(C)) |
3632 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_missing_in_target(InterTree) |
3633 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_missing_in_target(InterTree(PreviewTree)) |
3634 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_no_specific_files(InterDirStateTree(C)) |
3635 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_no_specific_files(InterTree) |
3636 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_no_specific_files(InterTree(PreviewTree)) |
3637 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_only_in_source_and_missing(InterDirStateTree(C)) |
3638 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_only_in_source_and_missing(InterDirStateTree(PY)) |
3639 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_only_in_source_and_missing(InterTree(CHKInventory)) |
3640 | @@ -2551,32 +2669,43 @@ |
3641 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_renamed_and_added(InterDirStateTree(C)) |
3642 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_renamed_and_added(InterTree) |
3643 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_renamed_and_added(InterTree(CHKInventory)) |
3644 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_renamed_and_added(InterTree(PreviewTree)) |
3645 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_renamed_and_unknown(InterDirStateTree(C)) |
3646 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_renamed_and_unknown(InterTree(CHKInventory)) |
3647 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_rename_over_deleted(InterDirStateTree(C)) |
3648 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_rename_over_deleted(InterTree) |
3649 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_rename_over_deleted(InterTree(CHKInventory)) |
3650 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_rename_over_deleted(InterTree(PreviewTree)) |
3651 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_specific_content_modification_grabs_parents(InterDirStateTree(C)) |
3652 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_specific_content_modification_grabs_parents_root_changes(InterDirStateTree(C)) |
3653 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_specific_old_parent_becomes_file(InterDirStateTree(C)) |
3654 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_specific_old_parent_child_collides_with_unselected_new(InterDirStateTree(C)) |
3655 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_specific_old_parent_child_dir_stops_being_dir(InterDirStateTree(C)) |
3656 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_specific_old_parent_same_path_new_parent(InterDirStateTree(C)) |
3657 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_specific_with_rename_under_new_dir_reports_new_dir(InterDirStateTree(C)) |
3658 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_trees_with_deleted_dir(InterDirStateTree(C)) |
3659 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_trees_with_deleted_dir(InterTree) |
3660 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_trees_with_deleted_dir(InterTree(PreviewTree)) |
3661 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_trees_with_special_names(InterDirStateTree(C)) |
3662 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unknown_empty_dir(InterDirStateTree(C)) |
3663 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unknown_empty_dir(InterTree) |
3664 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_unknown_empty_dir(InterTree(PreviewTree)) |
3665 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_target_matching_source_old_names(InterDirStateTree(C)) |
3666 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_target_matching_source_old_names(InterTree(CHKInventory)) |
3667 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_tree(InterDirStateTree(C)) |
3668 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_tree(InterDirStateTree(PY)) |
3669 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_tree(InterTree) |
3670 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_tree(InterTree(CHKInventory)) |
3671 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_tree(InterTree(PreviewTree)) |
3672 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_tree_specific_files(InterDirStateTree(C)) |
3673 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_tree_specific_files(InterTree) |
3674 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_tree_specific_files(InterTree(CHKInventory)) |
3675 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_tree_specific_files(InterTree(PreviewTree)) |
3676 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_subtree_only_emits_root(InterDirStateTree(C)) |
3677 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_subtree_only_emits_root(InterDirStateTree(PY)) |
3678 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_subtree_only_emits_root(InterTree) |
3679 | breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_subtree_only_emits_root(InterTree(CHKInventory)) |
3680 | +breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_subtree_only_emits_root(InterTree(PreviewTree)) |
3681 | breezy.tests.per_intertree.test_file_content_matches.TestFileContentMatches.test_different_contents_and_same_verifier(InterDirStateTree(C)) |
3682 | breezy.tests.per_intertree.test_file_content_matches.TestFileContentMatches.test_different_contents_and_same_verifier(InterDirStateTree(PY)) |
3683 | breezy.tests.per_intertree.test_file_content_matches.TestFileContentMatches.test_different_contents_and_same_verifier(InterTree) |
3684 | @@ -2673,6 +2802,13 @@ |
3685 | breezy.tests.per_pack_repository.TestPackRepository.test_concurrent_pack_during_get_record_reloads(2a) |
3686 | breezy.tests.per_pack_repository.TestPackRepository.test_concurrent_pack_during_get_record_reloads(pack-0.92) |
3687 | breezy.tests.per_pack_repository.TestPackRepository.test_concurrent_pack_during_get_record_reloads(pack-0.92-subtree) |
3688 | +breezy.tests.per_pack_repository.TestPackRepository.test_fail_obsolete_deletion(1.6) |
3689 | +breezy.tests.per_pack_repository.TestPackRepository.test_fail_obsolete_deletion(1.6.1-rich-root) |
3690 | +breezy.tests.per_pack_repository.TestPackRepository.test_fail_obsolete_deletion(1.9) |
3691 | +breezy.tests.per_pack_repository.TestPackRepository.test_fail_obsolete_deletion(1.9-rich-root) |
3692 | +breezy.tests.per_pack_repository.TestPackRepository.test_fail_obsolete_deletion(2a) |
3693 | +breezy.tests.per_pack_repository.TestPackRepository.test_fail_obsolete_deletion(pack-0.92) |
3694 | +breezy.tests.per_pack_repository.TestPackRepository.test_fail_obsolete_deletion(pack-0.92-subtree) |
3695 | breezy.tests.per_pack_repository.TestPackRepository.test_fetch_without_find_ghosts_ignores_ghosts(2a) |
3696 | breezy.tests.per_pack_repository.TestPackRepository.test_lock_write_does_not_physically_lock(1.6) |
3697 | breezy.tests.per_pack_repository.TestPackRepository.test_lock_write_does_not_physically_lock(1.6.1-rich-root) |
3698 | @@ -4331,6 +4467,8 @@ |
3699 | breezy.tests.per_repository.test_repository.TestRepository.test_clone_to_hpss(RepositoryFormat4) |
3700 | breezy.tests.per_repository.test_repository.TestRepository.test_clone_to_hpss(RepositoryFormat5) |
3701 | breezy.tests.per_repository.test_repository.TestRepository.test_clone_to_hpss(RepositoryFormat6) |
3702 | +breezy.tests.per_repository.test_repository.TestRepository.test_commit_unicode_message(RepositoryFormat2a) |
3703 | +breezy.tests.per_repository.test_repository.TestRepository.test_commit_unicode_message(RepositoryFormat2aSubtree) |
3704 | breezy.tests.per_repository.test_repository.TestRepository.test_commit_unicode_message(RepositoryFormat4) |
3705 | breezy.tests.per_repository.test_repository.TestRepository.test_create_repository(RemoteRepositoryFormat-default) |
3706 | breezy.tests.per_repository.test_repository.TestRepository.test_create_repository(RemoteRepositoryFormat-v2) |
3707 | @@ -5882,18 +6020,42 @@ |
3708 | breezy.tests.per_transport.TransportTests.test_connection_sharing(TransportLogDecorator,LogDecoratorServer) |
3709 | breezy.tests.per_transport.TransportTests.test_connection_sharing(TransportTraceDecorator,TraceServer) |
3710 | breezy.tests.per_transport.TransportTests.test_connection_sharing(UnlistableTransportDecorator,UnlistableServer) |
3711 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(ChrootTransport,TestingChrootServer) |
3712 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(FakeNFSTransportDecorator,FakeNFSServer) |
3713 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(FakeVFATTransportDecorator,FakeVFATServer) |
3714 | breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(FtpTransport,UnavailableFTPTestServer) |
3715 | breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(HTTPS_transport,HTTPSServer) |
3716 | breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(HTTPS_urllib_transport,HTTPSServer_urllib) |
3717 | breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(HttpTransport,HttpServer) |
3718 | breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(HttpTransport_urllib,HttpServer_urllib) |
3719 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(LocalTransport,LocalURLServer) |
3720 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(MemoryTransport,MemoryServer) |
3721 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(NoSmartTransportDecorator,NoSmartTransportServer) |
3722 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(PathFilteringTransport,TestingPathFilteringServer) |
3723 | breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(ReadonlyTransportDecorator,ReadonlyServer) |
3724 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(RemoteTCPTransport,SmartTCPServer_for_testing) |
3725 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(SFTPTransport,SFTPAbsoluteServer) |
3726 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(SFTPTransport,SFTPHomeDirServer) |
3727 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(SFTPTransport,SFTPSiblingAbsoluteServer) |
3728 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(TransportLogDecorator,LogDecoratorServer) |
3729 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(TransportTraceDecorator,TraceServer) |
3730 | +breezy.tests.per_transport.TransportTests.test_connect_twice_is_same_content(UnlistableTransportDecorator,UnlistableServer) |
3731 | +breezy.tests.per_transport.TransportTests.test_copy(ChrootTransport,TestingChrootServer) |
3732 | +breezy.tests.per_transport.TransportTests.test_copy(FakeNFSTransportDecorator,FakeNFSServer) |
3733 | +breezy.tests.per_transport.TransportTests.test_copy(FakeVFATTransportDecorator,FakeVFATServer) |
3734 | breezy.tests.per_transport.TransportTests.test_copy(FtpTransport,UnavailableFTPTestServer) |
3735 | breezy.tests.per_transport.TransportTests.test_copy(HTTPS_transport,HTTPSServer) |
3736 | breezy.tests.per_transport.TransportTests.test_copy(HTTPS_urllib_transport,HTTPSServer_urllib) |
3737 | breezy.tests.per_transport.TransportTests.test_copy(HttpTransport,HttpServer) |
3738 | breezy.tests.per_transport.TransportTests.test_copy(HttpTransport_urllib,HttpServer_urllib) |
3739 | +breezy.tests.per_transport.TransportTests.test_copy(LocalTransport,LocalURLServer) |
3740 | +breezy.tests.per_transport.TransportTests.test_copy(MemoryTransport,MemoryServer) |
3741 | +breezy.tests.per_transport.TransportTests.test_copy(NoSmartTransportDecorator,NoSmartTransportServer) |
3742 | +breezy.tests.per_transport.TransportTests.test_copy(PathFilteringTransport,TestingPathFilteringServer) |
3743 | breezy.tests.per_transport.TransportTests.test_copy(ReadonlyTransportDecorator,ReadonlyServer) |
3744 | +breezy.tests.per_transport.TransportTests.test_copy(SFTPTransport,SFTPAbsoluteServer) |
3745 | +breezy.tests.per_transport.TransportTests.test_copy(SFTPTransport,SFTPHomeDirServer) |
3746 | +breezy.tests.per_transport.TransportTests.test_copy(SFTPTransport,SFTPSiblingAbsoluteServer) |
3747 | breezy.tests.per_transport.TransportTests.test_copy_to(ChrootTransport,TestingChrootServer) |
3748 | breezy.tests.per_transport.TransportTests.test_copy_to(FakeNFSTransportDecorator,FakeNFSServer) |
3749 | breezy.tests.per_transport.TransportTests.test_copy_to(FakeVFATTransportDecorator,FakeVFATServer) |
3750 | @@ -5910,6 +6072,8 @@ |
3751 | breezy.tests.per_transport.TransportTests.test_copy_to(TransportLogDecorator,LogDecoratorServer) |
3752 | breezy.tests.per_transport.TransportTests.test_copy_to(TransportTraceDecorator,TraceServer) |
3753 | breezy.tests.per_transport.TransportTests.test_copy_to(UnlistableTransportDecorator,UnlistableServer) |
3754 | +breezy.tests.per_transport.TransportTests.test_copy(TransportLogDecorator,LogDecoratorServer) |
3755 | +breezy.tests.per_transport.TransportTests.test_copy(TransportTraceDecorator,TraceServer) |
3756 | breezy.tests.per_transport.TransportTests.test_copy_tree(ChrootTransport,TestingChrootServer) |
3757 | breezy.tests.per_transport.TransportTests.test_copy_tree(FakeNFSTransportDecorator,FakeNFSServer) |
3758 | breezy.tests.per_transport.TransportTests.test_copy_tree(FakeVFATTransportDecorator,FakeVFATServer) |
3759 | @@ -5948,6 +6112,7 @@ |
3760 | breezy.tests.per_transport.TransportTests.test_copy_tree(TransportLogDecorator,LogDecoratorServer) |
3761 | breezy.tests.per_transport.TransportTests.test_copy_tree(TransportTraceDecorator,TraceServer) |
3762 | breezy.tests.per_transport.TransportTests.test_copy_tree(UnlistableTransportDecorator,UnlistableServer) |
3763 | +breezy.tests.per_transport.TransportTests.test_copy(UnlistableTransportDecorator,UnlistableServer) |
3764 | breezy.tests.per_transport.TransportTests.test_create_prefix(ChrootTransport,TestingChrootServer) |
3765 | breezy.tests.per_transport.TransportTests.test_create_prefix(FakeNFSTransportDecorator,FakeNFSServer) |
3766 | breezy.tests.per_transport.TransportTests.test_create_prefix(FakeVFATTransportDecorator,FakeVFATServer) |
3767 | @@ -6081,7 +6246,21 @@ |
3768 | breezy.tests.per_transport.TransportTests.test_external_url(TransportLogDecorator,LogDecoratorServer) |
3769 | breezy.tests.per_transport.TransportTests.test_external_url(TransportTraceDecorator,TraceServer) |
3770 | breezy.tests.per_transport.TransportTests.test_external_url(UnlistableTransportDecorator,UnlistableServer) |
3771 | +breezy.tests.per_transport.TransportTests.test_get_bytes(ChrootTransport,TestingChrootServer) |
3772 | +breezy.tests.per_transport.TransportTests.test_get_bytes(FakeNFSTransportDecorator,FakeNFSServer) |
3773 | +breezy.tests.per_transport.TransportTests.test_get_bytes(FakeVFATTransportDecorator,FakeVFATServer) |
3774 | breezy.tests.per_transport.TransportTests.test_get_bytes(FtpTransport,UnavailableFTPTestServer) |
3775 | +breezy.tests.per_transport.TransportTests.test_get_bytes(LocalTransport,LocalURLServer) |
3776 | +breezy.tests.per_transport.TransportTests.test_get_bytes(MemoryTransport,MemoryServer) |
3777 | +breezy.tests.per_transport.TransportTests.test_get_bytes(NoSmartTransportDecorator,NoSmartTransportServer) |
3778 | +breezy.tests.per_transport.TransportTests.test_get_bytes(PathFilteringTransport,TestingPathFilteringServer) |
3779 | +breezy.tests.per_transport.TransportTests.test_get_bytes(ReadonlyTransportDecorator,ReadonlyServer) |
3780 | +breezy.tests.per_transport.TransportTests.test_get_bytes(RemoteTCPTransport,SmartTCPServer_for_testing) |
3781 | +breezy.tests.per_transport.TransportTests.test_get_bytes(SFTPTransport,SFTPAbsoluteServer) |
3782 | +breezy.tests.per_transport.TransportTests.test_get_bytes(SFTPTransport,SFTPHomeDirServer) |
3783 | +breezy.tests.per_transport.TransportTests.test_get_bytes(SFTPTransport,SFTPSiblingAbsoluteServer) |
3784 | +breezy.tests.per_transport.TransportTests.test_get_bytes(TransportLogDecorator,LogDecoratorServer) |
3785 | +breezy.tests.per_transport.TransportTests.test_get_bytes(TransportTraceDecorator,TraceServer) |
3786 | breezy.tests.per_transport.TransportTests.test_get_bytes_unknown_file(ChrootTransport,TestingChrootServer) |
3787 | breezy.tests.per_transport.TransportTests.test_get_bytes_unknown_file(FakeNFSTransportDecorator,FakeNFSServer) |
3788 | breezy.tests.per_transport.TransportTests.test_get_bytes_unknown_file(FakeVFATTransportDecorator,FakeVFATServer) |
3789 | @@ -6097,12 +6276,14 @@ |
3790 | breezy.tests.per_transport.TransportTests.test_get_bytes_unknown_file(TransportLogDecorator,LogDecoratorServer) |
3791 | breezy.tests.per_transport.TransportTests.test_get_bytes_unknown_file(TransportTraceDecorator,TraceServer) |
3792 | breezy.tests.per_transport.TransportTests.test_get_bytes_unknown_file(UnlistableTransportDecorator,UnlistableServer) |
3793 | +breezy.tests.per_transport.TransportTests.test_get_bytes(UnlistableTransportDecorator,UnlistableServer) |
3794 | breezy.tests.per_transport.TransportTests.test_get_bytes_with_open_write_stream_sees_all_content(FtpTransport,UnavailableFTPTestServer) |
3795 | breezy.tests.per_transport.TransportTests.test_get_bytes_with_open_write_stream_sees_all_content(HTTPS_transport,HTTPSServer) |
3796 | breezy.tests.per_transport.TransportTests.test_get_bytes_with_open_write_stream_sees_all_content(HTTPS_urllib_transport,HTTPSServer_urllib) |
3797 | breezy.tests.per_transport.TransportTests.test_get_bytes_with_open_write_stream_sees_all_content(HttpTransport,HttpServer) |
3798 | breezy.tests.per_transport.TransportTests.test_get_bytes_with_open_write_stream_sees_all_content(HttpTransport_urllib,HttpServer_urllib) |
3799 | breezy.tests.per_transport.TransportTests.test_get_bytes_with_open_write_stream_sees_all_content(ReadonlyTransportDecorator,ReadonlyServer) |
3800 | +breezy.tests.per_transport.TransportTests.test_get(ChrootTransport,TestingChrootServer) |
3801 | breezy.tests.per_transport.TransportTests.test_get_directory_read_gives_ReadError(ChrootTransport,TestingChrootServer) |
3802 | breezy.tests.per_transport.TransportTests.test_get_directory_read_gives_ReadError(FakeNFSTransportDecorator,FakeNFSServer) |
3803 | breezy.tests.per_transport.TransportTests.test_get_directory_read_gives_ReadError(FakeVFATTransportDecorator,FakeVFATServer) |
3804 | @@ -6120,7 +6301,18 @@ |
3805 | breezy.tests.per_transport.TransportTests.test_get_directory_read_gives_ReadError(TransportLogDecorator,LogDecoratorServer) |
3806 | breezy.tests.per_transport.TransportTests.test_get_directory_read_gives_ReadError(TransportTraceDecorator,TraceServer) |
3807 | breezy.tests.per_transport.TransportTests.test_get_directory_read_gives_ReadError(UnlistableTransportDecorator,UnlistableServer) |
3808 | +breezy.tests.per_transport.TransportTests.test_get(FakeNFSTransportDecorator,FakeNFSServer) |
3809 | +breezy.tests.per_transport.TransportTests.test_get(FakeVFATTransportDecorator,FakeVFATServer) |
3810 | breezy.tests.per_transport.TransportTests.test_get(FtpTransport,UnavailableFTPTestServer) |
3811 | +breezy.tests.per_transport.TransportTests.test_get(LocalTransport,LocalURLServer) |
3812 | +breezy.tests.per_transport.TransportTests.test_get(MemoryTransport,MemoryServer) |
3813 | +breezy.tests.per_transport.TransportTests.test_get(NoSmartTransportDecorator,NoSmartTransportServer) |
3814 | +breezy.tests.per_transport.TransportTests.test_get(PathFilteringTransport,TestingPathFilteringServer) |
3815 | +breezy.tests.per_transport.TransportTests.test_get(ReadonlyTransportDecorator,ReadonlyServer) |
3816 | +breezy.tests.per_transport.TransportTests.test_get(RemoteTCPTransport,SmartTCPServer_for_testing) |
3817 | +breezy.tests.per_transport.TransportTests.test_get(SFTPTransport,SFTPAbsoluteServer) |
3818 | +breezy.tests.per_transport.TransportTests.test_get(SFTPTransport,SFTPHomeDirServer) |
3819 | +breezy.tests.per_transport.TransportTests.test_get(SFTPTransport,SFTPSiblingAbsoluteServer) |
3820 | breezy.tests.per_transport.TransportTests.test_get_smart_medium(ChrootTransport,TestingChrootServer) |
3821 | breezy.tests.per_transport.TransportTests.test_get_smart_medium(FakeNFSTransportDecorator,FakeNFSServer) |
3822 | breezy.tests.per_transport.TransportTests.test_get_smart_medium(FakeVFATTransportDecorator,FakeVFATServer) |
3823 | @@ -6141,6 +6333,8 @@ |
3824 | breezy.tests.per_transport.TransportTests.test_get_smart_medium(TransportLogDecorator,LogDecoratorServer) |
3825 | breezy.tests.per_transport.TransportTests.test_get_smart_medium(TransportTraceDecorator,TraceServer) |
3826 | breezy.tests.per_transport.TransportTests.test_get_smart_medium(UnlistableTransportDecorator,UnlistableServer) |
3827 | +breezy.tests.per_transport.TransportTests.test_get(TransportLogDecorator,LogDecoratorServer) |
3828 | +breezy.tests.per_transport.TransportTests.test_get(TransportTraceDecorator,TraceServer) |
3829 | breezy.tests.per_transport.TransportTests.test_get_unknown_file(ChrootTransport,TestingChrootServer) |
3830 | breezy.tests.per_transport.TransportTests.test_get_unknown_file(FakeNFSTransportDecorator,FakeNFSServer) |
3831 | breezy.tests.per_transport.TransportTests.test_get_unknown_file(FakeVFATTransportDecorator,FakeVFATServer) |
3832 | @@ -6156,6 +6350,7 @@ |
3833 | breezy.tests.per_transport.TransportTests.test_get_unknown_file(TransportLogDecorator,LogDecoratorServer) |
3834 | breezy.tests.per_transport.TransportTests.test_get_unknown_file(TransportTraceDecorator,TraceServer) |
3835 | breezy.tests.per_transport.TransportTests.test_get_unknown_file(UnlistableTransportDecorator,UnlistableServer) |
3836 | +breezy.tests.per_transport.TransportTests.test_get(UnlistableTransportDecorator,UnlistableServer) |
3837 | breezy.tests.per_transport.TransportTests.test_get_with_open_write_stream_sees_all_content(FtpTransport,UnavailableFTPTestServer) |
3838 | breezy.tests.per_transport.TransportTests.test_get_with_open_write_stream_sees_all_content(HTTPS_transport,HTTPSServer) |
3839 | breezy.tests.per_transport.TransportTests.test_get_with_open_write_stream_sees_all_content(HTTPS_urllib_transport,HTTPSServer_urllib) |
3840 | @@ -6356,11 +6551,18 @@ |
3841 | breezy.tests.per_transport.TransportTests.test_lock_write(TransportLogDecorator,LogDecoratorServer) |
3842 | breezy.tests.per_transport.TransportTests.test_lock_write(TransportTraceDecorator,TraceServer) |
3843 | breezy.tests.per_transport.TransportTests.test_lock_write(UnlistableTransportDecorator,UnlistableServer) |
3844 | +breezy.tests.per_transport.TransportTests.test_mkdir(ChrootTransport,TestingChrootServer) |
3845 | +breezy.tests.per_transport.TransportTests.test_mkdir(FakeNFSTransportDecorator,FakeNFSServer) |
3846 | +breezy.tests.per_transport.TransportTests.test_mkdir(FakeVFATTransportDecorator,FakeVFATServer) |
3847 | breezy.tests.per_transport.TransportTests.test_mkdir(FtpTransport,UnavailableFTPTestServer) |
3848 | breezy.tests.per_transport.TransportTests.test_mkdir(HTTPS_transport,HTTPSServer) |
3849 | breezy.tests.per_transport.TransportTests.test_mkdir(HTTPS_urllib_transport,HTTPSServer_urllib) |
3850 | breezy.tests.per_transport.TransportTests.test_mkdir(HttpTransport,HttpServer) |
3851 | breezy.tests.per_transport.TransportTests.test_mkdir(HttpTransport_urllib,HttpServer_urllib) |
3852 | +breezy.tests.per_transport.TransportTests.test_mkdir(LocalTransport,LocalURLServer) |
3853 | +breezy.tests.per_transport.TransportTests.test_mkdir(MemoryTransport,MemoryServer) |
3854 | +breezy.tests.per_transport.TransportTests.test_mkdir(NoSmartTransportDecorator,NoSmartTransportServer) |
3855 | +breezy.tests.per_transport.TransportTests.test_mkdir(PathFilteringTransport,TestingPathFilteringServer) |
3856 | breezy.tests.per_transport.TransportTests.test_mkdir_permissions(ChrootTransport,TestingChrootServer) |
3857 | breezy.tests.per_transport.TransportTests.test_mkdir_permissions(FakeNFSTransportDecorator,FakeNFSServer) |
3858 | breezy.tests.per_transport.TransportTests.test_mkdir_permissions(FakeVFATTransportDecorator,FakeVFATServer) |
3859 | @@ -6382,12 +6584,33 @@ |
3860 | breezy.tests.per_transport.TransportTests.test_mkdir_permissions(TransportTraceDecorator,TraceServer) |
3861 | breezy.tests.per_transport.TransportTests.test_mkdir_permissions(UnlistableTransportDecorator,UnlistableServer) |
3862 | breezy.tests.per_transport.TransportTests.test_mkdir(ReadonlyTransportDecorator,ReadonlyServer) |
3863 | +breezy.tests.per_transport.TransportTests.test_mkdir(RemoteTCPTransport,SmartTCPServer_for_testing) |
3864 | +breezy.tests.per_transport.TransportTests.test_mkdir(SFTPTransport,SFTPAbsoluteServer) |
3865 | +breezy.tests.per_transport.TransportTests.test_mkdir(SFTPTransport,SFTPHomeDirServer) |
3866 | +breezy.tests.per_transport.TransportTests.test_mkdir(SFTPTransport,SFTPSiblingAbsoluteServer) |
3867 | +breezy.tests.per_transport.TransportTests.test_mkdir(TransportLogDecorator,LogDecoratorServer) |
3868 | +breezy.tests.per_transport.TransportTests.test_mkdir(TransportTraceDecorator,TraceServer) |
3869 | +breezy.tests.per_transport.TransportTests.test_mkdir(UnlistableTransportDecorator,UnlistableServer) |
3870 | +breezy.tests.per_transport.TransportTests.test_move(ChrootTransport,TestingChrootServer) |
3871 | +breezy.tests.per_transport.TransportTests.test_move(FakeNFSTransportDecorator,FakeNFSServer) |
3872 | +breezy.tests.per_transport.TransportTests.test_move(FakeVFATTransportDecorator,FakeVFATServer) |
3873 | breezy.tests.per_transport.TransportTests.test_move(FtpTransport,UnavailableFTPTestServer) |
3874 | breezy.tests.per_transport.TransportTests.test_move(HTTPS_transport,HTTPSServer) |
3875 | breezy.tests.per_transport.TransportTests.test_move(HTTPS_urllib_transport,HTTPSServer_urllib) |
3876 | breezy.tests.per_transport.TransportTests.test_move(HttpTransport,HttpServer) |
3877 | breezy.tests.per_transport.TransportTests.test_move(HttpTransport_urllib,HttpServer_urllib) |
3878 | +breezy.tests.per_transport.TransportTests.test_move(LocalTransport,LocalURLServer) |
3879 | +breezy.tests.per_transport.TransportTests.test_move(MemoryTransport,MemoryServer) |
3880 | +breezy.tests.per_transport.TransportTests.test_move(NoSmartTransportDecorator,NoSmartTransportServer) |
3881 | +breezy.tests.per_transport.TransportTests.test_move(PathFilteringTransport,TestingPathFilteringServer) |
3882 | breezy.tests.per_transport.TransportTests.test_move(ReadonlyTransportDecorator,ReadonlyServer) |
3883 | +breezy.tests.per_transport.TransportTests.test_move(RemoteTCPTransport,SmartTCPServer_for_testing) |
3884 | +breezy.tests.per_transport.TransportTests.test_move(SFTPTransport,SFTPAbsoluteServer) |
3885 | +breezy.tests.per_transport.TransportTests.test_move(SFTPTransport,SFTPHomeDirServer) |
3886 | +breezy.tests.per_transport.TransportTests.test_move(SFTPTransport,SFTPSiblingAbsoluteServer) |
3887 | +breezy.tests.per_transport.TransportTests.test_move(TransportLogDecorator,LogDecoratorServer) |
3888 | +breezy.tests.per_transport.TransportTests.test_move(TransportTraceDecorator,TraceServer) |
3889 | +breezy.tests.per_transport.TransportTests.test_move(UnlistableTransportDecorator,UnlistableServer) |
3890 | breezy.tests.per_transport.TransportTests.test_no_segment_parameters(ChrootTransport,TestingChrootServer) |
3891 | breezy.tests.per_transport.TransportTests.test_no_segment_parameters(FakeNFSTransportDecorator,FakeNFSServer) |
3892 | breezy.tests.per_transport.TransportTests.test_no_segment_parameters(FakeVFATTransportDecorator,FakeVFATServer) |
3893 | @@ -6434,21 +6657,56 @@ |
3894 | breezy.tests.per_transport.TransportTests.test_opening_a_file_stream_creates_file(HttpTransport,HttpServer) |
3895 | breezy.tests.per_transport.TransportTests.test_opening_a_file_stream_creates_file(HttpTransport_urllib,HttpServer_urllib) |
3896 | breezy.tests.per_transport.TransportTests.test_opening_a_file_stream_creates_file(ReadonlyTransportDecorator,ReadonlyServer) |
3897 | +breezy.tests.per_transport.TransportTests.test_put_bytes(ChrootTransport,TestingChrootServer) |
3898 | +breezy.tests.per_transport.TransportTests.test_put_bytes(FakeNFSTransportDecorator,FakeNFSServer) |
3899 | +breezy.tests.per_transport.TransportTests.test_put_bytes(FakeVFATTransportDecorator,FakeVFATServer) |
3900 | breezy.tests.per_transport.TransportTests.test_put_bytes(FtpTransport,UnavailableFTPTestServer) |
3901 | breezy.tests.per_transport.TransportTests.test_put_bytes(HTTPS_transport,HTTPSServer) |
3902 | breezy.tests.per_transport.TransportTests.test_put_bytes(HTTPS_urllib_transport,HTTPSServer_urllib) |
3903 | breezy.tests.per_transport.TransportTests.test_put_bytes(HttpTransport,HttpServer) |
3904 | breezy.tests.per_transport.TransportTests.test_put_bytes(HttpTransport_urllib,HttpServer_urllib) |
3905 | +breezy.tests.per_transport.TransportTests.test_put_bytes(LocalTransport,LocalURLServer) |
3906 | +breezy.tests.per_transport.TransportTests.test_put_bytes(MemoryTransport,MemoryServer) |
3907 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(ChrootTransport,TestingChrootServer) |
3908 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(FakeNFSTransportDecorator,FakeNFSServer) |
3909 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(FakeVFATTransportDecorator,FakeVFATServer) |
3910 | breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(FtpTransport,UnavailableFTPTestServer) |
3911 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(HTTPS_transport,HTTPSServer) |
3912 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(HttpTransport,HttpServer) |
3913 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(LocalTransport,LocalURLServer) |
3914 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(MemoryTransport,MemoryServer) |
3915 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(NoSmartTransportDecorator,NoSmartTransportServer) |
3916 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(PathFilteringTransport,TestingPathFilteringServer) |
3917 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(ChrootTransport,TestingChrootServer) |
3918 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(FakeNFSTransportDecorator,FakeNFSServer) |
3919 | breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(FakeVFATTransportDecorator,FakeVFATServer) |
3920 | breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(FtpTransport,UnavailableFTPTestServer) |
3921 | breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(HTTPS_transport,HTTPSServer) |
3922 | breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(HTTPS_urllib_transport,HTTPSServer_urllib) |
3923 | breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(HttpTransport,HttpServer) |
3924 | breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(HttpTransport_urllib,HttpServer_urllib) |
3925 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(LocalTransport,LocalURLServer) |
3926 | breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(MemoryTransport,MemoryServer) |
3927 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(NoSmartTransportDecorator,NoSmartTransportServer) |
3928 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(PathFilteringTransport,TestingPathFilteringServer) |
3929 | breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(ReadonlyTransportDecorator,ReadonlyServer) |
3930 | breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(RemoteTCPTransport,SmartTCPServer_for_testing) |
3931 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(SFTPTransport,SFTPAbsoluteServer) |
3932 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(SFTPTransport,SFTPHomeDirServer) |
3933 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(SFTPTransport,SFTPSiblingAbsoluteServer) |
3934 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(TransportLogDecorator,LogDecoratorServer) |
3935 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(TransportTraceDecorator,TraceServer) |
3936 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(UnlistableTransportDecorator,UnlistableServer) |
3937 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(ReadonlyTransportDecorator,ReadonlyServer) |
3938 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(RemoteTCPTransport,SmartTCPServer_for_testing) |
3939 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(SFTPTransport,SFTPAbsoluteServer) |
3940 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(SFTPTransport,SFTPHomeDirServer) |
3941 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(SFTPTransport,SFTPSiblingAbsoluteServer) |
3942 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(TransportLogDecorator,LogDecoratorServer) |
3943 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(TransportTraceDecorator,TraceServer) |
3944 | +breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(UnlistableTransportDecorator,UnlistableServer) |
3945 | +breezy.tests.per_transport.TransportTests.test_put_bytes(NoSmartTransportDecorator,NoSmartTransportServer) |
3946 | +breezy.tests.per_transport.TransportTests.test_put_bytes(PathFilteringTransport,TestingPathFilteringServer) |
3947 | breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(ChrootTransport,TestingChrootServer) |
3948 | breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(FakeNFSTransportDecorator,FakeNFSServer) |
3949 | breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(FakeVFATTransportDecorator,FakeVFATServer) |
3950 | @@ -6470,6 +6728,12 @@ |
3951 | breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(TransportTraceDecorator,TraceServer) |
3952 | breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(UnlistableTransportDecorator,UnlistableServer) |
3953 | breezy.tests.per_transport.TransportTests.test_put_bytes(ReadonlyTransportDecorator,ReadonlyServer) |
3954 | +breezy.tests.per_transport.TransportTests.test_put_bytes(RemoteTCPTransport,SmartTCPServer_for_testing) |
3955 | +breezy.tests.per_transport.TransportTests.test_put_bytes(SFTPTransport,SFTPAbsoluteServer) |
3956 | +breezy.tests.per_transport.TransportTests.test_put_bytes(SFTPTransport,SFTPHomeDirServer) |
3957 | +breezy.tests.per_transport.TransportTests.test_put_bytes(SFTPTransport,SFTPSiblingAbsoluteServer) |
3958 | +breezy.tests.per_transport.TransportTests.test_put_bytes(TransportLogDecorator,LogDecoratorServer) |
3959 | +breezy.tests.per_transport.TransportTests.test_put_bytes(TransportTraceDecorator,TraceServer) |
3960 | breezy.tests.per_transport.TransportTests.test_put_bytes_unicode(ChrootTransport,TestingChrootServer) |
3961 | breezy.tests.per_transport.TransportTests.test_put_bytes_unicode(FakeNFSTransportDecorator,FakeNFSServer) |
3962 | breezy.tests.per_transport.TransportTests.test_put_bytes_unicode(FakeVFATTransportDecorator,FakeVFATServer) |
3963 | @@ -6490,16 +6754,29 @@ |
3964 | breezy.tests.per_transport.TransportTests.test_put_bytes_unicode(TransportLogDecorator,LogDecoratorServer) |
3965 | breezy.tests.per_transport.TransportTests.test_put_bytes_unicode(TransportTraceDecorator,TraceServer) |
3966 | breezy.tests.per_transport.TransportTests.test_put_bytes_unicode(UnlistableTransportDecorator,UnlistableServer) |
3967 | +breezy.tests.per_transport.TransportTests.test_put_bytes(UnlistableTransportDecorator,UnlistableServer) |
3968 | +breezy.tests.per_transport.TransportTests.test_put_file(ChrootTransport,TestingChrootServer) |
3969 | +breezy.tests.per_transport.TransportTests.test_put_file(FakeNFSTransportDecorator,FakeNFSServer) |
3970 | +breezy.tests.per_transport.TransportTests.test_put_file(FakeVFATTransportDecorator,FakeVFATServer) |
3971 | breezy.tests.per_transport.TransportTests.test_put_file(FtpTransport,UnavailableFTPTestServer) |
3972 | breezy.tests.per_transport.TransportTests.test_put_file(HTTPS_transport,HTTPSServer) |
3973 | breezy.tests.per_transport.TransportTests.test_put_file(HTTPS_urllib_transport,HTTPSServer_urllib) |
3974 | breezy.tests.per_transport.TransportTests.test_put_file(HttpTransport,HttpServer) |
3975 | breezy.tests.per_transport.TransportTests.test_put_file(HttpTransport_urllib,HttpServer_urllib) |
3976 | +breezy.tests.per_transport.TransportTests.test_put_file(LocalTransport,LocalURLServer) |
3977 | +breezy.tests.per_transport.TransportTests.test_put_file(MemoryTransport,MemoryServer) |
3978 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(ChrootTransport,TestingChrootServer) |
3979 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(FakeNFSTransportDecorator,FakeNFSServer) |
3980 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(FakeVFATTransportDecorator,FakeVFATServer) |
3981 | breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(FtpTransport,UnavailableFTPTestServer) |
3982 | breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(HTTPS_transport,HTTPSServer) |
3983 | breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(HTTPS_urllib_transport,HTTPSServer_urllib) |
3984 | breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(HttpTransport,HttpServer) |
3985 | breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(HttpTransport_urllib,HttpServer_urllib) |
3986 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(LocalTransport,LocalURLServer) |
3987 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(MemoryTransport,MemoryServer) |
3988 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(NoSmartTransportDecorator,NoSmartTransportServer) |
3989 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(PathFilteringTransport,TestingPathFilteringServer) |
3990 | breezy.tests.per_transport.TransportTests.test_put_file_non_atomic_permissions(ChrootTransport,TestingChrootServer) |
3991 | breezy.tests.per_transport.TransportTests.test_put_file_non_atomic_permissions(FakeNFSTransportDecorator,FakeNFSServer) |
3992 | breezy.tests.per_transport.TransportTests.test_put_file_non_atomic_permissions(FakeVFATTransportDecorator,FakeVFATServer) |
3993 | @@ -6521,6 +6798,15 @@ |
3994 | breezy.tests.per_transport.TransportTests.test_put_file_non_atomic_permissions(TransportTraceDecorator,TraceServer) |
3995 | breezy.tests.per_transport.TransportTests.test_put_file_non_atomic_permissions(UnlistableTransportDecorator,UnlistableServer) |
3996 | breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(ReadonlyTransportDecorator,ReadonlyServer) |
3997 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(RemoteTCPTransport,SmartTCPServer_for_testing) |
3998 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(SFTPTransport,SFTPAbsoluteServer) |
3999 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(SFTPTransport,SFTPHomeDirServer) |
4000 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(SFTPTransport,SFTPSiblingAbsoluteServer) |
4001 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(TransportLogDecorator,LogDecoratorServer) |
4002 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(TransportTraceDecorator,TraceServer) |
4003 | +breezy.tests.per_transport.TransportTests.test_put_file_non_atomic(UnlistableTransportDecorator,UnlistableServer) |
4004 | +breezy.tests.per_transport.TransportTests.test_put_file(NoSmartTransportDecorator,NoSmartTransportServer) |
4005 | +breezy.tests.per_transport.TransportTests.test_put_file(PathFilteringTransport,TestingPathFilteringServer) |
4006 | breezy.tests.per_transport.TransportTests.test_put_file_permissions(ChrootTransport,TestingChrootServer) |
4007 | breezy.tests.per_transport.TransportTests.test_put_file_permissions(FakeNFSTransportDecorator,FakeNFSServer) |
4008 | breezy.tests.per_transport.TransportTests.test_put_file_permissions(FakeVFATTransportDecorator,FakeVFATServer) |
4009 | @@ -6542,6 +6828,13 @@ |
4010 | breezy.tests.per_transport.TransportTests.test_put_file_permissions(TransportTraceDecorator,TraceServer) |
4011 | breezy.tests.per_transport.TransportTests.test_put_file_permissions(UnlistableTransportDecorator,UnlistableServer) |
4012 | breezy.tests.per_transport.TransportTests.test_put_file(ReadonlyTransportDecorator,ReadonlyServer) |
4013 | +breezy.tests.per_transport.TransportTests.test_put_file(RemoteTCPTransport,SmartTCPServer_for_testing) |
4014 | +breezy.tests.per_transport.TransportTests.test_put_file(SFTPTransport,SFTPAbsoluteServer) |
4015 | +breezy.tests.per_transport.TransportTests.test_put_file(SFTPTransport,SFTPHomeDirServer) |
4016 | +breezy.tests.per_transport.TransportTests.test_put_file(SFTPTransport,SFTPSiblingAbsoluteServer) |
4017 | +breezy.tests.per_transport.TransportTests.test_put_file(TransportLogDecorator,LogDecoratorServer) |
4018 | +breezy.tests.per_transport.TransportTests.test_put_file(TransportTraceDecorator,TraceServer) |
4019 | +breezy.tests.per_transport.TransportTests.test_put_file(UnlistableTransportDecorator,UnlistableServer) |
4020 | breezy.tests.per_transport.TransportTests.test_readv(ChrootTransport,TestingChrootServer) |
4021 | breezy.tests.per_transport.TransportTests.test_readv(FakeNFSTransportDecorator,FakeNFSServer) |
4022 | breezy.tests.per_transport.TransportTests.test_readv(FakeVFATTransportDecorator,FakeVFATServer) |
4023 | @@ -7119,6 +7412,8 @@ |
4024 | breezy.tests.per_tree.test_revision_tree.TestRevisionTree.test_get_random_tree_raises(WorkingTreeFormat6,remote) |
4025 | breezy.tests.per_tree.test_test_trees.TestTreeShapes.test_empty_tree_no_parents(DirStateRevisionTree,WT4) |
4026 | breezy.tests.per_tree.test_test_trees.TestTreeShapes.test_empty_tree_no_parents(DirStateRevisionTree,WT5) |
4027 | +breezy.tests.per_tree.test_test_trees.TestTreeShapes.test_empty_tree_no_parents(PreviewTree) |
4028 | +breezy.tests.per_tree.test_test_trees.TestTreeShapes.test_empty_tree_no_parents(PreviewTreePost) |
4029 | breezy.tests.per_tree.test_test_trees.TestTreeShapes.test_empty_tree_no_parents(RevisionTree) |
4030 | breezy.tests.per_tree.test_test_trees.TestTreeShapes.test_empty_tree_no_parents(WorkingTreeFormat2) |
4031 | breezy.tests.per_tree.test_test_trees.TestTreeShapes.test_empty_tree_no_parents(WorkingTreeFormat3) |
Thanks! There's some scary bits here with the unicode() cast changes, may need to write ourselves a more robust helper for the short term to have confidence.