Merge lp:~jelmer/brz/python3-y into lp:brz

Proposed by Jelmer Vernooij
Status: Merged
Approved by: Jelmer Vernooij
Approved revision: no longer in the source branch.
Merge reported by: The Breezy Bot
Merged at revision: not available
Proposed branch: lp:~jelmer/brz/python3-y
Merge into: lp:brz
Diff against target: 539 lines (+108/-76)
15 files modified
breezy/branch.py (+3/-4)
breezy/bzr/remote.py (+8/-7)
breezy/delta.py (+1/-1)
breezy/git/tree.py (+2/-2)
breezy/git/workingtree.py (+2/-1)
breezy/log.py (+1/-1)
breezy/tests/per_merger.py (+28/-27)
breezy/tests/per_pack_repository.py (+2/-2)
breezy/tests/per_repository_reference/test_graph.py (+5/-5)
breezy/tests/test_annotate.py (+3/-2)
breezy/tests/test_bad_files.py (+14/-14)
breezy/tests/test_cache_utf8.py (+3/-3)
breezy/tests/test_delta.py (+13/-6)
breezy/tests/test_log.py (+1/-1)
python3.passing (+22/-0)
To merge this branch: bzr merge lp:~jelmer/brz/python3-y
Reviewer Review Type Date Requested Status
Martin Packman Approve
Review via email: mp+353193@code.launchpad.net

Commit message

Various fixes for tests on Python 3.

Description of the change

Various fixes for tests on Python 3.

This gets the number of failing tests down to 197.

To post a comment you must log in.
Revision history for this message
Martin Packman (gz) wrote :

Okay, all seems fair enough, thanks.

review: Approve
Revision history for this message
The Breezy Bot (the-breezy-bot) wrote :

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-07-03 23:54:50 +0000
3+++ breezy/branch.py 2018-09-01 19:52:44 +0000
4@@ -779,10 +779,9 @@
5 # FIXUP this and get_parent in a future branch format bump:
6 # read and rewrite the file. RBC 20060125
7 if url is not None:
8- # TODO(jelmer): Clean this up for pad.lv/1696545
9- if isinstance(url, text_type) and sys.version_info[0] == 2:
10+ if isinstance(url, text_type):
11 try:
12- url = url.encode('ascii')
13+ url.encode('ascii')
14 except UnicodeEncodeError:
15 raise urlutils.InvalidURL(url,
16 "Urls must be 7-bit ascii, "
17@@ -1074,7 +1073,7 @@
18 # This is an old-format absolute path to a local branch
19 # turn it into a url
20 if parent.startswith('/'):
21- parent = urlutils.local_path_to_url(parent.decode('utf8'))
22+ parent = urlutils.local_path_to_url(parent)
23 try:
24 return urlutils.join(self.base[:-1], parent)
25 except urlutils.InvalidURLJoin as e:
26
27=== modified file 'breezy/bzr/remote.py'
28--- breezy/bzr/remote.py 2018-08-23 01:36:15 +0000
29+++ breezy/bzr/remote.py 2018-09-01 19:52:44 +0000
30@@ -279,7 +279,7 @@
31 make_working_trees=make_working_trees, shared_repo=shared_repo,
32 vfs_only=True)
33 except errors.ErrorFromSmartServer as err:
34- _translate_error(err, path=path)
35+ _translate_error(err, path=path.decode('utf-8'))
36 repo_path = response[0]
37 bzrdir_name = response[6]
38 require_stacking = response[7]
39@@ -2962,7 +2962,7 @@
40 stream = self._stop_stream_if_inventory_delta(stream)
41 byte_stream = smart_repo._stream_to_byte_stream(
42 stream, src_format)
43- resume_tokens = b' '.join(resume_tokens)
44+ resume_tokens = b' '.join([token.encode('utf-8') for token in resume_tokens])
45 response = client.call_with_body_stream(
46 (verb, path, resume_tokens) + lock_args, byte_stream)
47 if response[0][0] not in (b'ok', b'missing-basis'):
48@@ -2975,7 +2975,7 @@
49 return self._resume_stream_with_vfs(response, src_format)
50 if response[0][0] == b'missing-basis':
51 tokens, missing_keys = bencode.bdecode_as_tuple(response[0][1])
52- resume_tokens = tokens
53+ resume_tokens = [token.decode('utf-8') for token in tokens]
54 return resume_tokens, set((entry[0].decode('utf-8'), ) + entry[1:] for entry in missing_keys)
55 else:
56 self.target_repo.refresh_data()
57@@ -2987,6 +2987,7 @@
58 """
59 if response[0][0] == b'missing-basis':
60 tokens, missing_keys = bencode.bdecode_as_tuple(response[0][1])
61+ tokens = [token.decode('utf-8') for token in tokens]
62 # Ignore missing_keys, we haven't finished inserting yet
63 else:
64 tokens = []
65@@ -3947,12 +3948,12 @@
66 if medium._is_remote_before((1, 15)):
67 return self._vfs_set_parent_location(url)
68 try:
69- call_url = url or ''
70- if not isinstance(call_url, str):
71- raise AssertionError('url must be a str or None (%s)' % url)
72+ call_url = url or u''
73+ if isinstance(call_url, text_type):
74+ call_url = call_url.encode('utf-8')
75 response = self._call(b'Branch.set_parent_location',
76 self._remote_path(), self._lock_token, self._repo_lock_token,
77- call_url.encode('utf-8'))
78+ call_url)
79 except errors.UnknownSmartMethod:
80 medium._remember_remote_is_before((1, 15))
81 return self._vfs_set_parent_location(url)
82
83=== modified file 'breezy/delta.py'
84--- breezy/delta.py 2018-08-18 16:29:34 +0000
85+++ breezy/delta.py 2018-09-01 19:52:44 +0000
86@@ -443,7 +443,7 @@
87 if show_more is not None:
88 show_more(item)
89 if show_ids:
90- to_file.write(' %s' % file_id)
91+ to_file.write(' %s' % file_id.decode('utf-8'))
92 to_file.write('\n')
93
94 show_list(delta.removed, 'removed', 'D')
95
96=== modified file 'breezy/git/tree.py'
97--- breezy/git/tree.py 2018-08-12 03:16:53 +0000
98+++ breezy/git/tree.py 2018-09-01 19:52:44 +0000
99@@ -666,11 +666,11 @@
100 continue
101 file_id = new_fileid_map.lookup_file_id(newpath_decoded)
102 ret.modified.append(
103- (newpath, file_id, mode_kind(newmode),
104+ (newpath_decoded, file_id, mode_kind(newmode),
105 (oldsha != newsha), (oldmode != newmode)))
106 else:
107 file_id = new_fileid_map.lookup_file_id(newpath_decoded)
108- ret.unchanged.append((newpath, file_id, mode_kind(newmode)))
109+ ret.unchanged.append((newpath_decoded, file_id, mode_kind(newmode)))
110
111 return ret
112
113
114=== modified file 'breezy/git/workingtree.py'
115--- breezy/git/workingtree.py 2018-08-15 19:35:30 +0000
116+++ breezy/git/workingtree.py 2018-09-01 19:52:44 +0000
117@@ -495,7 +495,8 @@
118 if kind == "directory":
119 user_dirs.append(subp)
120 else:
121- if subp in self.index:
122+ (index, subpath) = self._lookup_index(subp.encode('utf-8'))
123+ if subpath in index:
124 # Already present
125 continue
126 if subp in conflicts_related:
127
128=== modified file 'breezy/log.py'
129--- breezy/log.py 2018-08-06 01:37:23 +0000
130+++ breezy/log.py 2018-09-01 19:52:44 +0000
131@@ -1684,7 +1684,7 @@
132 self.show_properties(revision.rev, indent+offset)
133 if self.show_ids or revision.revno is None:
134 to_file.write(indent + offset + 'revision-id:%s\n'
135- % (revision.rev.revision_id,))
136+ % (revision.rev.revision_id.decode('utf-8'),))
137 if not revision.rev.message:
138 to_file.write(indent + offset + '(no message)\n')
139 else:
140
141=== modified file 'breezy/tests/per_merger.py'
142--- breezy/tests/per_merger.py 2018-07-27 00:08:00 +0000
143+++ breezy/tests/per_merger.py 2018-09-01 19:52:44 +0000
144@@ -100,25 +100,26 @@
145 self.expectFailure(
146 "lca merge doesn't conflict for move and change",
147 self.assertFileEqual,
148- b'line 1\n'
149- b'<<<<<<< TREE\n'
150- b'line 3\n'
151- b'line 2\n'
152- b'=======\n'
153- b'line 2 to 2.1\n'
154- b'line 3\n'
155- b'>>>>>>> MERGE-SOURCE\n'
156- b'line 4\n', 'this/file1')
157+ 'line 1\n'
158+ '<<<<<<< TREE\n'
159+ 'line 3\n'
160+ 'line 2\n'
161+ '=======\n'
162+ 'line 2 to 2.1\n'
163+ 'line 3\n'
164+ '>>>>>>> MERGE-SOURCE\n'
165+ 'line 4\n', 'this/file1')
166 else:
167- self.assertFileEqual(b'line 1\n'
168- b'<<<<<<< TREE\n'
169- b'line 3\n'
170- b'line 2\n'
171- b'=======\n'
172- b'line 2 to 2.1\n'
173- b'line 3\n'
174- b'>>>>>>> MERGE-SOURCE\n'
175- b'line 4\n', 'this/file1')
176+ self.assertFileEqual(
177+ 'line 1\n'
178+ '<<<<<<< TREE\n'
179+ 'line 3\n'
180+ 'line 2\n'
181+ '=======\n'
182+ 'line 2 to 2.1\n'
183+ 'line 3\n'
184+ '>>>>>>> MERGE-SOURCE\n'
185+ 'line 4\n', 'this/file1')
186
187 def test_modify_conflicts_with_delete(self):
188 # If one side deletes a line, and the other modifies that line, then
189@@ -147,15 +148,15 @@
190 if self.merge_type is _mod_merge.LCAMerger:
191 self.expectFailure("lca merge doesn't track deleted lines",
192 self.assertFileEqual,
193- b'a\n'
194- b'<<<<<<< TREE\n'
195- b'b2\n'
196- b'=======\n'
197- b'>>>>>>> MERGE-SOURCE\n'
198- b'c\n'
199- b'd\n'
200- b'X\n'
201- b'e\n', 'test/foo')
202+ 'a\n'
203+ '<<<<<<< TREE\n'
204+ 'b2\n'
205+ '=======\n'
206+ '>>>>>>> MERGE-SOURCE\n'
207+ 'c\n'
208+ 'd\n'
209+ 'X\n'
210+ 'e\n', 'test/foo')
211 else:
212 self.assertFileEqual(
213 b'a\n'
214
215=== modified file 'breezy/tests/per_pack_repository.py'
216--- breezy/tests/per_pack_repository.py 2018-08-23 01:36:15 +0000
217+++ breezy/tests/per_pack_repository.py 2018-09-01 19:52:44 +0000
218@@ -1114,9 +1114,9 @@
219 tree.commit('commit triggering pack')
220 tree.branch.push(remote_branch)
221 autopack_calls = len([call for call in self.hpss_calls if call ==
222- 'PackRepository.autopack'])
223+ b'PackRepository.autopack'])
224 streaming_calls = len([call for call in self.hpss_calls if call in
225- ('Repository.insert_stream', 'Repository.insert_stream_1.19')])
226+ (b'Repository.insert_stream', b'Repository.insert_stream_1.19')])
227 if autopack_calls:
228 # Non streaming server
229 self.assertEqual(1, autopack_calls)
230
231=== modified file 'breezy/tests/per_repository_reference/test_graph.py'
232--- breezy/tests/per_repository_reference/test_graph.py 2018-07-27 18:57:21 +0000
233+++ breezy/tests/per_repository_reference/test_graph.py 2018-09-01 19:52:44 +0000
234@@ -81,10 +81,10 @@
235 # this changes in the future, we can change this to:
236 # if c.call.method != 'Repository.get_parent_map':
237 # continue
238- self.assertEqual('Repository.get_parent_map', c.call.method)
239+ self.assertEqual(b'Repository.get_parent_map', c.call.method)
240 args = c.call.args
241 location = args[0]
242- self.assertEqual('include-missing:', args[1])
243+ self.assertEqual(b'include-missing:', args[1])
244 revisions = sorted(args[2:])
245 get_parent_map_calls.append((location, revisions))
246 self.assertEqual(expected, get_parent_map_calls)
247@@ -106,13 +106,13 @@
248 self.assertParentMapCalls([
249 # One call to stacked to start, which returns F=>E, and that E
250 # itself is missing, so when we step, we won't look for it.
251- ('extra/stacked/', [b'F']),
252+ (b'extra/stacked/', [b'F']),
253 # One fallback call to extra/master, which will return the rest of
254 # the history.
255- ('extra/master/', [b'E']),
256+ (b'extra/master/', [b'E']),
257 # And then one get_parent_map call to the target, to see if it
258 # already has any of these revisions.
259- ('extra/target_repo/branch/', [b'A', b'B', b'C', b'D', b'E', b'F']),
260+ (b'extra/target_repo/branch/', [b'A', b'B', b'C', b'D', b'E', b'F']),
261 ])
262 # Before bug #388269 was fixed, there would be a bunch of extra calls
263 # to 'extra/stacked', ['D'] then ['C'], then ['B'], then ['A'].
264
265=== modified file 'breezy/tests/test_annotate.py'
266--- breezy/tests/test_annotate.py 2018-07-17 17:23:13 +0000
267+++ breezy/tests/test_annotate.py 2018-09-01 19:52:44 +0000
268@@ -17,6 +17,7 @@
269 """Whitebox tests for annotate functionality."""
270
271 import codecs
272+from io import BytesIO
273
274 from .. import (
275 annotate,
276@@ -422,11 +423,11 @@
277 annotate.annotate_file_tree(revtree_1, 'a',
278 to_file=to_file, branch=tree1.branch)
279
280- sio = StringIO()
281+ sio = BytesIO()
282 to_file = codecs.getwriter('ascii')(sio, 'replace')
283 annotate.annotate_file_tree(revtree_2, 'b',
284 to_file=to_file, branch=tree1.branch)
285- self.assertEqualDiff('2 p?rez | bye\n', sio.getvalue())
286+ self.assertEqualDiff(b'2 p?rez | bye\n', sio.getvalue())
287
288 # test now with unicode file-like
289 to_file = StringIOWithEncoding()
290
291=== modified file 'breezy/tests/test_bad_files.py'
292--- breezy/tests/test_bad_files.py 2018-06-29 15:36:29 +0000
293+++ breezy/tests/test_bad_files.py 2018-09-01 19:52:44 +0000
294@@ -23,7 +23,7 @@
295 errors,
296 )
297 from ..sixish import (
298- BytesIO,
299+ StringIO,
300 )
301 from ..status import show_tree_status
302 from . import TestCaseWithTransport
303@@ -34,7 +34,7 @@
304
305 def verify_status(tester, tree, value):
306 """Verify the output of show_tree_status"""
307- tof = BytesIO()
308+ tof = StringIO()
309 show_tree_status(tree, to_file=tof)
310 tof.seek(0)
311 tester.assertEqual(value, tof.readlines())
312@@ -65,9 +65,9 @@
313 self.build_tree(['six'])
314
315 verify_status(self, wt,
316- [b'unknown:\n',
317- b' a-fifo\n',
318- b' six\n'
319+ ['unknown:\n',
320+ ' a-fifo\n',
321+ ' six\n'
322 ])
323
324 # We should raise an error if we are adding a bogus file
325@@ -75,23 +75,23 @@
326
327 # And the list of files shouldn't have been modified
328 verify_status(self, wt,
329- [b'unknown:\n',
330- b' a-fifo\n',
331- b' six\n'
332+ ['unknown:\n',
333+ ' a-fifo\n',
334+ ' six\n'
335 ])
336
337 # Make sure smart_add can handle having a bogus
338 # file in the way
339 wt.smart_add([])
340 verify_status(self, wt,
341- [b'added:\n',
342- b' six\n',
343- b'unknown:\n',
344- b' a-fifo\n',
345+ ['added:\n',
346+ ' six\n',
347+ 'unknown:\n',
348+ ' a-fifo\n',
349 ])
350 wt.commit("Commit four", rev_id=b"a@u-0-3")
351
352 verify_status(self, wt,
353- [b'unknown:\n',
354- b' a-fifo\n',
355+ ['unknown:\n',
356+ ' a-fifo\n',
357 ])
358
359=== modified file 'breezy/tests/test_cache_utf8.py'
360--- breezy/tests/test_cache_utf8.py 2018-08-14 22:19:49 +0000
361+++ breezy/tests/test_cache_utf8.py 2018-09-01 19:52:44 +0000
362@@ -93,9 +93,9 @@
363 self.assertIs(xp, yp)
364
365 def test_cached_ascii(self):
366- x = '%s %s' % ('simple', 'text')
367- y = '%s %s' % ('simple', 'text')
368- self.assertFalse(x is y)
369+ x = b'%s %s' % (b'simple', b'text')
370+ y = b'%s %s' % (b'simple', b'text')
371+ self.assertIsNot(x, y)
372 xp = cache_utf8.get_cached_ascii(x)
373 yp = cache_utf8.get_cached_ascii(y)
374
375
376=== modified file 'breezy/tests/test_delta.py'
377--- breezy/tests/test_delta.py 2018-06-29 15:36:29 +0000
378+++ breezy/tests/test_delta.py 2018-09-01 19:52:44 +0000
379@@ -22,6 +22,7 @@
380 tests,
381 )
382 from ..sixish import (
383+ PY3,
384 StringIO,
385 )
386
387@@ -39,7 +40,7 @@
388 class TestReportChanges(tests.TestCase):
389 """Test the new change reporting infrastructure"""
390
391- def assertReport(self, expected, file_id='fid', path='path',
392+ def assertReport(self, expected, file_id=b'fid', path='path',
393 versioned_change='unchanged', renamed=False,
394 modified='unchanged', exe_change=False,
395 kind=('file', 'file'), old_path=None,
396@@ -54,7 +55,7 @@
397 kind, old_path,
398 unversioned_filter, view_info)
399
400- def assertReportLines(self, expected_lines, file_id='fid', path='path',
401+ def assertReportLines(self, expected_lines, file_id=b'fid', path='path',
402 versioned_change='unchanged', renamed=False,
403 modified='unchanged', exe_change=False,
404 kind=('file', 'file'), old_path=None,
405@@ -144,7 +145,7 @@
406 path="foo", view_info=('my', ['path']))
407
408 def assertChangesEqual(self,
409- file_id='fid',
410+ file_id=b'fid',
411 paths=('path', 'path'),
412 content_change=False,
413 versioned=(True, True),
414@@ -259,9 +260,15 @@
415 other_delta.kind_changed = [('filename', b'file-id', 'file',
416 'directory')]
417 self.assertEqual(other_delta, delta)
418- self.assertEqualDiff("TreeDelta(added=[], removed=[], renamed=[],"
419- " kind_changed=[(u'filename', 'file-id', 'file', 'directory')],"
420- " modified=[], unchanged=[], unversioned=[])", repr(delta))
421+ if PY3:
422+ self.assertEqualDiff("TreeDelta(added=[], removed=[], renamed=[],"
423+ " kind_changed=[('filename', b'file-id', 'file', 'directory')],"
424+ " modified=[], unchanged=[], unversioned=[])", repr(delta))
425+ else:
426+ self.assertEqualDiff("TreeDelta(added=[], removed=[], renamed=[],"
427+ " kind_changed=[(u'filename', 'file-id', 'file', 'directory')],"
428+ " modified=[], unchanged=[], unversioned=[])", repr(delta))
429+
430 self.assertEqual('K filename (file => directory) file-id\n',
431 self.show_string(delta, show_ids=True,
432 short_status=True))
433
434=== modified file 'breezy/tests/test_log.py'
435--- breezy/tests/test_log.py 2018-07-24 21:44:05 +0000
436+++ breezy/tests/test_log.py 2018-09-01 19:52:44 +0000
437@@ -742,7 +742,7 @@
438
439 revision = wt.branch.repository.get_revision(wt.branch.last_revision())
440 formatter.show_properties(revision, '')
441- self.assertEqualDiff('''custom_prop_name: test_value\n''',
442+ self.assertEqualDiff(b'''custom_prop_name: test_value\n''',
443 sio.getvalue())
444
445 def test_show_ids(self):
446
447=== modified file 'python3.passing'
448--- python3.passing 2018-08-31 10:23:32 +0000
449+++ python3.passing 2018-09-01 19:52:44 +0000
450@@ -4999,6 +4999,16 @@
451 breezy.tests.per_branch.test_parent.TestParent.test_no_default_parent(RemoteBranchFormat-default)
452 breezy.tests.per_branch.test_parent.TestParent.test_no_default_parent(RemoteBranchFormat-v2)
453 breezy.tests.per_branch.test_parent.TestParent.test_no_default_parent(RemoteGitBranchFormat)
454+breezy.tests.per_branch.test_parent.TestParent.test_set_get_parent(BranchReferenceFormat)
455+breezy.tests.per_branch.test_parent.TestParent.test_set_get_parent(BzrBranchFormat4)
456+breezy.tests.per_branch.test_parent.TestParent.test_set_get_parent(BzrBranchFormat5)
457+breezy.tests.per_branch.test_parent.TestParent.test_set_get_parent(BzrBranchFormat6)
458+breezy.tests.per_branch.test_parent.TestParent.test_set_get_parent(BzrBranchFormat7)
459+breezy.tests.per_branch.test_parent.TestParent.test_set_get_parent(BzrBranchFormat8)
460+breezy.tests.per_branch.test_parent.TestParent.test_set_get_parent(LocalGitBranchFormat)
461+breezy.tests.per_branch.test_parent.TestParent.test_set_get_parent(RemoteBranchFormat-default)
462+breezy.tests.per_branch.test_parent.TestParent.test_set_get_parent(RemoteBranchFormat-v2)
463+breezy.tests.per_branch.test_parent.TestParent.test_set_get_parent(RemoteGitBranchFormat)
464 breezy.tests.per_branch.test_parent.TestParent.test_win32_set_parent_on_another_drive(BranchReferenceFormat)
465 breezy.tests.per_branch.test_parent.TestParent.test_win32_set_parent_on_another_drive(BzrBranchFormat4)
466 breezy.tests.per_branch.test_parent.TestParent.test_win32_set_parent_on_another_drive(BzrBranchFormat5)
467@@ -8298,6 +8308,9 @@
468 breezy.tests.per_interrepository.test_fetch.TestInterRepository.test_fetch_parent_inventories_at_stacking_boundary_smart(InterRepository,RepositoryFormatKnit1,RepositoryFormatKnit3)
469 breezy.tests.per_interrepository.test_fetch.TestInterRepository.test_fetch_parent_inventories_at_stacking_boundary_smart(InterSameDataRepository,RepositoryFormatKnit3,RepositoryFormatKnit3)
470 breezy.tests.per_interrepository.test_fetch.TestInterRepository.test_fetch_parent_inventories_at_stacking_boundary_smart(InterToLocalGitRepository,RepositoryFormat2a,GitRepositoryFormat)
471+breezy.tests.per_interrepository.test_fetch.TestInterRepository.test_fetch_parent_inventories_at_stacking_boundary_smart_old(InterDifferingSerializer+get_known_graph_ancestry,RepositoryFormatKnitPack1,RepositoryFormatKnitPack6RichRoot)
472+breezy.tests.per_interrepository.test_fetch.TestInterRepository.test_fetch_parent_inventories_at_stacking_boundary_smart_old(InterDifferingSerializer,RepositoryFormat2a,RepositoryFormatKnitPack6RichRoot)
473+breezy.tests.per_interrepository.test_fetch.TestInterRepository.test_fetch_parent_inventories_at_stacking_boundary_smart_old(InterDifferingSerializer,RepositoryFormatKnitPack1,RepositoryFormatKnitPack6RichRoot)
474 breezy.tests.per_interrepository.test_fetch.TestInterRepository.test_fetch_parent_inventories_at_stacking_boundary_smart_old(InterKnitRepo,RepositoryFormatKnit1,RepositoryFormatKnit1)
475 breezy.tests.per_interrepository.test_fetch.TestInterRepository.test_fetch_parent_inventories_at_stacking_boundary_smart_old(InterKnitRepo,RepositoryFormatKnit1,RepositoryFormatKnitPack1)
476 breezy.tests.per_interrepository.test_fetch.TestInterRepository.test_fetch_parent_inventories_at_stacking_boundary_smart_old(InterKnitRepo,RepositoryFormatKnit3,RepositoryFormatKnitPack3)
477@@ -9575,6 +9588,8 @@
478 breezy.tests.per_repository_reference.test_get_rev_id_for_revno.TestGetRevIdForRevno.test_uses_fallback(RepositoryFormatKnitPack6)
479 breezy.tests.per_repository_reference.test_get_rev_id_for_revno.TestGetRevIdForRevno.test_uses_fallback(RepositoryFormatKnitPack6RichRoot)
480 breezy.tests.per_repository_reference.test_get_rev_id_for_revno.TestGetRevIdForRevno.test_uses_fallback(RepositoryFormatPackDevelopment2Subtree)
481+breezy.tests.per_repository_reference.test_graph.TestGraph.test_doesnt_call_get_parent_map_on_all_fallback_revs(RemoteRepositoryFormat-default)
482+breezy.tests.per_repository_reference.test_graph.TestGraph.test_doesnt_call_get_parent_map_on_all_fallback_revs(RemoteRepositoryFormat-v2)
483 breezy.tests.per_repository_reference.test_graph.TestGraph.test_doesnt_call_get_parent_map_on_all_fallback_revs(RepositoryFormat2a)
484 breezy.tests.per_repository_reference.test_graph.TestGraph.test_doesnt_call_get_parent_map_on_all_fallback_revs(RepositoryFormat2aSubtree)
485 breezy.tests.per_repository_reference.test_graph.TestGraph.test_doesnt_call_get_parent_map_on_all_fallback_revs(RepositoryFormatKnitPack5)
486@@ -21625,6 +21640,7 @@
487 breezy.tests.per_workingtree.test_smart_add.TestSmartAddConflictRelatedFiles.test_can_add_generated_files_explicitly(WorkingTreeFormat5)
488 breezy.tests.per_workingtree.test_smart_add.TestSmartAddConflictRelatedFiles.test_can_add_generated_files_explicitly(WorkingTreeFormat6)
489 breezy.tests.per_workingtree.test_smart_add.TestSmartAddConflictRelatedFiles.test_can_add_generated_files_explicitly(WorkingTreeFormat6,remote)
490+breezy.tests.per_workingtree.test_smart_add.TestSmartAddConflictRelatedFiles.test_cant_add_generated_files_implicitly(GitWorkingTreeFormat)
491 breezy.tests.per_workingtree.test_smart_add.TestSmartAddConflictRelatedFiles.test_cant_add_generated_files_implicitly(WorkingTreeFormat2)
492 breezy.tests.per_workingtree.test_smart_add.TestSmartAddConflictRelatedFiles.test_cant_add_generated_files_implicitly(WorkingTreeFormat3)
493 breezy.tests.per_workingtree.test_smart_add.TestSmartAddConflictRelatedFiles.test_cant_add_generated_files_implicitly(WorkingTreeFormat4)
494@@ -22521,6 +22537,7 @@
495 breezy.tests.test_annotate.TestAnnotate.test_annotate_limits_dotted_revnos
496 breezy.tests.test_annotate.TestAnnotate.test_annotate_show_ids
497 breezy.tests.test_annotate.TestAnnotate.test_annotate_shows_dotted_revnos
498+breezy.tests.test_annotate.TestAnnotate.test_annotate_unicode_author
499 breezy.tests.test_annotate.TestAnnotate.test_annotate_uses_branch_context
500 breezy.tests.test_annotate.TestReannotate.test_reannotate
501 breezy.tests.test_annotate.TestReannotate.test_reannotate_left_matching_blocks
502@@ -22570,6 +22587,7 @@
503 breezy.tests.test_atomicfile.TestAtomicFile.test_mode_0666
504 breezy.tests.test_atomicfile.TestAtomicFile.test_no_mode
505 breezy.tests.test_atomicfile.TestAtomicFile.test_text_mode
506+breezy.tests.test_bad_files.TestBadFiles.test_bad_files
507 breezy.tests.test__bencode.TestBencodeDecode.test_decoder_type_error(C)
508 breezy.tests.test__bencode.TestBencodeDecode.test_decoder_type_error(python)
509 breezy.tests.test__bencode.TestBencodeDecode.test_dict(C)
510@@ -24337,6 +24355,7 @@
511 breezy.tests.test_debug.TestDebugFlags.test_set_single_debug_flags_from_config
512 breezy.tests.test_decorators.TestOnlyRaisesDecorator.test_quietly_logs_unapproved_errors
513 breezy.tests.test_decorators.TestOnlyRaisesDecorator.test_raises_approved_error
514+breezy.tests.test_delta.TestChangesFrom.test_kind_change
515 breezy.tests.test_delta.TestDeltaShow.test_long_status
516 breezy.tests.test_delta.TestDeltaShow.test_long_status_id_predicate
517 breezy.tests.test_delta.TestDeltaShow.test_long_status_path_predicate
518@@ -27148,6 +27167,7 @@
519 breezy.tests.test_log.TestLongLogFormatter.test_author_in_log
520 breezy.tests.test_log.TestLongLogFormatter.test_error_in_properties_handler
521 breezy.tests.test_log.TestLongLogFormatter.test_merges_are_indented_by_level
522+breezy.tests.test_log.TestLongLogFormatter.test_properties_handler_bad_argument
523 breezy.tests.test_log.TestLongLogFormatter.test_properties_in_log
524 breezy.tests.test_log.TestLongLogFormatter.test_properties_in_short_log
525 breezy.tests.test_log.TestLongLogFormatter.test_show_ids
526@@ -27167,11 +27187,13 @@
527 breezy.tests.test_log.TestRevisionNotInBranch.test_long_format
528 breezy.tests.test_log.TestRevisionNotInBranch.test_many_revisions
529 breezy.tests.test_log.TestRevisionNotInBranch.test_one_revision
530+breezy.tests.test_log.TestRevisionNotInBranch.test_short_format
531 breezy.tests.test_log.TestShortLogFormatter.test_short_log_single_merge_revision
532 breezy.tests.test_log.TestShortLogFormatter.test_short_log_with_merges
533 breezy.tests.test_log.TestShortLogFormatter.test_short_log_with_merges_and_advice
534 breezy.tests.test_log.TestShortLogFormatter.test_short_log_with_merges_and_range
535 breezy.tests.test_log.TestShortLogFormatter.test_short_log_with_tags
536+breezy.tests.test_log.TestShortLogFormatter.test_show_ids
537 breezy.tests.test_log.TestShortLogFormatter.test_trailing_newlines
538 breezy.tests.test_log.TestShortLogFormatterWithMergeRevisions.test_short_merge_revs_log_single_merge_revision
539 breezy.tests.test_log.TestShortLogFormatterWithMergeRevisions.test_short_merge_revs_log_with_merges

Subscribers

People subscribed via source and target branches