Merge lp:~jelmer/brz/run-brz-bytes into lp:brz
- run-brz-bytes
- Merge into trunk
Proposed by
Jelmer Vernooij
Status: | Merged |
---|---|
Merged at revision: | 7078 |
Proposed branch: | lp:~jelmer/brz/run-brz-bytes |
Merge into: | lp:brz |
Diff against target: |
1762 lines (+693/-196) 22 files modified
breezy/builtins.py (+2/-0) breezy/cache_utf8.py (+1/-1) breezy/osutils.py (+1/-1) breezy/plugins/grep/test_grep.py (+11/-12) breezy/tests/__init__.py (+122/-37) breezy/tests/blackbox/test_command_encoding.py (+12/-13) breezy/tests/blackbox/test_commit.py (+12/-9) breezy/tests/blackbox/test_export.py (+2/-2) breezy/tests/blackbox/test_help.py (+4/-4) breezy/tests/blackbox/test_log.py (+3/-3) breezy/tests/blackbox/test_non_ascii.py (+13/-17) breezy/tests/blackbox/test_shelve.py (+3/-2) breezy/tests/blackbox/test_tags.py (+12/-13) breezy/tests/blackbox/test_version.py (+9/-6) breezy/tests/blackbox/test_version_info.py (+2/-3) breezy/tests/script.py (+30/-3) breezy/tests/test_errors.py (+6/-2) breezy/tests/test_nonascii.py (+1/-1) breezy/tests/test_osutils.py (+35/-16) breezy/tests/test_remote.py (+7/-3) breezy/tests/test_selftest.py (+16/-44) python3.passing (+389/-4) |
To merge this branch: | bzr merge lp:~jelmer/brz/run-brz-bytes |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Breezy developers | Pending | ||
Review via email: mp+352944@code.launchpad.net |
Commit message
Description of the change
Add run_bzr_raw
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/builtins.py' |
2 | --- breezy/builtins.py 2018-08-04 17:32:58 +0000 |
3 | +++ breezy/builtins.py 2018-08-14 20:37:51 +0000 |
4 | @@ -6074,6 +6074,8 @@ |
5 | # which are not in this branch. Fail gracefully ... |
6 | revno = '?' |
7 | tags[index] = (tag, revno) |
8 | + else: |
9 | + tags = [(tag, revid.decode('utf-8')) for (tag, revid) in tags] |
10 | self.cleanup_now() |
11 | for tag, revspec in tags: |
12 | self.outf.write('%-20s %s\n' % (tag, revspec)) |
13 | |
14 | === modified file 'breezy/cache_utf8.py' |
15 | --- breezy/cache_utf8.py 2011-12-19 13:23:58 +0000 |
16 | +++ breezy/cache_utf8.py 2018-08-14 20:37:51 +0000 |
17 | @@ -109,7 +109,7 @@ |
18 | # same hash, so we can just use it as the key in _uni_to_utf8, but we need |
19 | # the return value to be different in _utf8_to_uni |
20 | ascii_str = _uni_to_utf8.setdefault(ascii_str, ascii_str) |
21 | - _utf8_to_uni.setdefault(ascii_str, unicode(ascii_str)) |
22 | + _utf8_to_uni.setdefault(ascii_str, ascii_str.decode('ascii')) |
23 | return ascii_str |
24 | |
25 | |
26 | |
27 | === modified file 'breezy/osutils.py' |
28 | --- breezy/osutils.py 2018-07-24 22:51:28 +0000 |
29 | +++ breezy/osutils.py 2018-08-14 20:37:51 +0000 |
30 | @@ -1992,7 +1992,7 @@ |
31 | """Compare path_a and path_b to generate the same order walkdirs uses.""" |
32 | key_a = path_prefix_key(path_a) |
33 | key_b = path_prefix_key(path_b) |
34 | - return cmp(key_a, key_b) |
35 | + return (key_a > key_b) - (key_a < key_b) |
36 | |
37 | |
38 | _cached_user_encoding = None |
39 | |
40 | === modified file 'breezy/plugins/grep/test_grep.py' |
41 | --- breezy/plugins/grep/test_grep.py 2018-07-22 17:06:14 +0000 |
42 | +++ breezy/plugins/grep/test_grep.py 2018-08-14 20:37:51 +0000 |
43 | @@ -1943,28 +1943,27 @@ |
44 | |
45 | # GZ 2010-06-07: Note we can't actually grep for \u1234 as the pattern |
46 | # is mangled according to the user encoding. |
47 | - streams = self.run_bzr(["grep", "--files-with-matches", |
48 | + streams = self.run_bzr_raw(["grep", "--files-with-matches", |
49 | u"contents"], encoding="UTF-8") |
50 | - if not PY3: |
51 | - as_utf8 = as_utf8.encode("UTF-8") |
52 | - self.assertEqual(streams, (as_utf8 + "\n", "")) |
53 | + as_utf8 = as_utf8.encode("UTF-8") |
54 | + self.assertEqual(streams, (as_utf8 + b"\n", b"")) |
55 | |
56 | - streams = self.run_bzr(["grep", "-r", "1", "--files-with-matches", |
57 | + streams = self.run_bzr_raw(["grep", "-r", "1", "--files-with-matches", |
58 | u"contents"], encoding="UTF-8") |
59 | - self.assertEqual(streams, (as_utf8 + "~1\n", "")) |
60 | + self.assertEqual(streams, (as_utf8 + b"~1\n", b"")) |
61 | |
62 | fileencoding = osutils.get_user_encoding() |
63 | as_mangled = as_utf8.decode(fileencoding, "replace").encode("UTF-8") |
64 | |
65 | - streams = self.run_bzr(["grep", "-n", |
66 | + streams = self.run_bzr_raw(["grep", "-n", |
67 | u"contents"], encoding="UTF-8") |
68 | - self.assertEqual(streams, ("%s:1:contents of %s\n" % |
69 | - (as_utf8, as_mangled), "")) |
70 | + self.assertEqual(streams, (b"%s:1:contents of %s\n" % |
71 | + (as_utf8, as_mangled), b"")) |
72 | |
73 | - streams = self.run_bzr(["grep", "-n", "-r", "1", |
74 | + streams = self.run_bzr_raw(["grep", "-n", "-r", "1", |
75 | u"contents"], encoding="UTF-8") |
76 | - self.assertEqual(streams, ("%s~1:1:contents of %s\n" % |
77 | - (as_utf8, as_mangled), "")) |
78 | + self.assertEqual(streams, (b"%s~1:1:contents of %s\n" % |
79 | + (as_utf8, as_mangled), b"")) |
80 | |
81 | |
82 | class TestColorGrep(GrepTestBase): |
83 | |
84 | === modified file 'breezy/tests/__init__.py' |
85 | --- breezy/tests/__init__.py 2018-08-08 02:14:32 +0000 |
86 | +++ breezy/tests/__init__.py 2018-08-14 20:37:51 +0000 |
87 | @@ -33,6 +33,7 @@ |
88 | from io import ( |
89 | BytesIO, |
90 | StringIO, |
91 | + TextIOWrapper, |
92 | ) |
93 | import itertools |
94 | import logging |
95 | @@ -1916,42 +1917,20 @@ |
96 | if not feature.available(): |
97 | raise UnavailableFeature(feature) |
98 | |
99 | - def _run_bzr_autosplit(self, args, retcode, encoding, stdin, |
100 | - working_dir): |
101 | - """Run bazaar command line, splitting up a string command line.""" |
102 | - if isinstance(args, string_types): |
103 | - args = shlex.split(args) |
104 | - return self._run_bzr_core(args, retcode=retcode, |
105 | - encoding=encoding, stdin=stdin, working_dir=working_dir, |
106 | - ) |
107 | - |
108 | - def _run_bzr_core(self, args, retcode, encoding, stdin, |
109 | + def _run_bzr_core(self, args, encoding, stdin, stdout, stderr, |
110 | working_dir): |
111 | # Clear chk_map page cache, because the contents are likely to mask |
112 | # locking errors. |
113 | chk_map.clear_cache() |
114 | - if encoding is None: |
115 | - encoding = osutils.get_user_encoding() |
116 | |
117 | self.log('run brz: %r', args) |
118 | |
119 | - if sys.version_info[0] == 2: |
120 | - stdout = ui_testing.BytesIOWithEncoding() |
121 | - stderr = ui_testing.BytesIOWithEncoding() |
122 | - stdout.encoding = stderr.encoding = encoding |
123 | + if PY3: |
124 | + self._last_cmd_stdout = stdout |
125 | + self._last_cmd_stderr = stderr |
126 | else: |
127 | - stdout = ui_testing.StringIOWithEncoding() |
128 | - stderr = ui_testing.StringIOWithEncoding() |
129 | - stdout.encoding = stderr.encoding = encoding |
130 | - |
131 | - # FIXME: don't call into logging here |
132 | - handler = trace.EncodedStreamHandler( |
133 | - stderr, errors="replace", level=logging.INFO) |
134 | - logger = logging.getLogger('') |
135 | - logger.addHandler(handler) |
136 | - |
137 | - self._last_cmd_stdout = codecs.getwriter(encoding)(stdout) |
138 | - self._last_cmd_stderr = codecs.getwriter(encoding)(stderr) |
139 | + self._last_cmd_stdout = codecs.getwriter(encoding)(stdout) |
140 | + self._last_cmd_stderr = codecs.getwriter(encoding)(stderr) |
141 | |
142 | old_ui_factory = ui.ui_factory |
143 | ui.ui_factory = ui_testing.TestUIFactory( |
144 | @@ -1972,11 +1951,81 @@ |
145 | _mod_commands.run_bzr_catch_user_errors, |
146 | args) |
147 | finally: |
148 | - logger.removeHandler(handler) |
149 | ui.ui_factory = old_ui_factory |
150 | if cwd is not None: |
151 | os.chdir(cwd) |
152 | |
153 | + return result |
154 | + |
155 | + def run_bzr_raw(self, args, retcode=0, stdin=None, encoding=None, |
156 | + working_dir=None, error_regexes=[]): |
157 | + """Invoke brz, as if it were run from the command line. |
158 | + |
159 | + The argument list should not include the brz program name - the |
160 | + first argument is normally the brz command. Arguments may be |
161 | + passed in three ways: |
162 | + |
163 | + 1- A list of strings, eg ["commit", "a"]. This is recommended |
164 | + when the command contains whitespace or metacharacters, or |
165 | + is built up at run time. |
166 | + |
167 | + 2- A single string, eg "add a". This is the most convenient |
168 | + for hardcoded commands. |
169 | + |
170 | + This runs brz through the interface that catches and reports |
171 | + errors, and with logging set to something approximating the |
172 | + default, so that error reporting can be checked. |
173 | + |
174 | + This should be the main method for tests that want to exercise the |
175 | + overall behavior of the brz application (rather than a unit test |
176 | + or a functional test of the library.) |
177 | + |
178 | + This sends the stdout/stderr results into the test's log, |
179 | + where it may be useful for debugging. See also run_captured. |
180 | + |
181 | + :keyword stdin: A string to be used as stdin for the command. |
182 | + :keyword retcode: The status code the command should return; |
183 | + default 0. |
184 | + :keyword working_dir: The directory to run the command in |
185 | + :keyword error_regexes: A list of expected error messages. If |
186 | + specified they must be seen in the error output of the command. |
187 | + """ |
188 | + if isinstance(args, string_types): |
189 | + args = shlex.split(args) |
190 | + |
191 | + if encoding is None: |
192 | + encoding = osutils.get_user_encoding() |
193 | + |
194 | + if sys.version_info[0] == 2: |
195 | + wrapped_stdout = stdout = ui_testing.BytesIOWithEncoding() |
196 | + wrapped_stderr = stderr = ui_testing.BytesIOWithEncoding() |
197 | + stdout.encoding = stderr.encoding = encoding |
198 | + |
199 | + # FIXME: don't call into logging here |
200 | + handler = trace.EncodedStreamHandler( |
201 | + stderr, errors="replace") |
202 | + else: |
203 | + stdout = BytesIO() |
204 | + stderr = BytesIO() |
205 | + wrapped_stdout = TextIOWrapper(stdout, encoding) |
206 | + wrapped_stderr = TextIOWrapper(stderr, encoding) |
207 | + handler = logging.StreamHandler(wrapped_stderr) |
208 | + handler.setLevel(logging.INFO) |
209 | + |
210 | + logger = logging.getLogger('') |
211 | + logger.addHandler(handler) |
212 | + try: |
213 | + result = self._run_bzr_core( |
214 | + args, encoding=encoding, stdin=stdin, stdout=wrapped_stdout, |
215 | + stderr=wrapped_stderr, working_dir=working_dir, |
216 | + ) |
217 | + finally: |
218 | + logger.removeHandler(handler) |
219 | + |
220 | + if PY3: |
221 | + wrapped_stdout.flush() |
222 | + wrapped_stderr.flush() |
223 | + |
224 | out = stdout.getvalue() |
225 | err = stderr.getvalue() |
226 | if out: |
227 | @@ -1986,7 +2035,10 @@ |
228 | if retcode is not None: |
229 | self.assertEqual(retcode, result, |
230 | message='Unexpected return code') |
231 | - return result, out, err |
232 | + self.assertIsInstance(error_regexes, (list, tuple)) |
233 | + for regex in error_regexes: |
234 | + self.assertContainsRe(err, regex) |
235 | + return out, err |
236 | |
237 | def run_bzr(self, args, retcode=0, stdin=None, encoding=None, |
238 | working_dir=None, error_regexes=[]): |
239 | @@ -2021,13 +2073,46 @@ |
240 | :keyword error_regexes: A list of expected error messages. If |
241 | specified they must be seen in the error output of the command. |
242 | """ |
243 | - retcode, out, err = self._run_bzr_autosplit( |
244 | - args=args, |
245 | - retcode=retcode, |
246 | - encoding=encoding, |
247 | - stdin=stdin, |
248 | - working_dir=working_dir, |
249 | - ) |
250 | + if isinstance(args, string_types): |
251 | + args = shlex.split(args) |
252 | + |
253 | + if encoding is None: |
254 | + encoding = osutils.get_user_encoding() |
255 | + |
256 | + if sys.version_info[0] == 2: |
257 | + stdout = ui_testing.BytesIOWithEncoding() |
258 | + stderr = ui_testing.BytesIOWithEncoding() |
259 | + stdout.encoding = stderr.encoding = encoding |
260 | + # FIXME: don't call into logging here |
261 | + handler = trace.EncodedStreamHandler( |
262 | + stderr, errors="replace") |
263 | + else: |
264 | + stdout = ui_testing.StringIOWithEncoding() |
265 | + stderr = ui_testing.StringIOWithEncoding() |
266 | + stdout.encoding = stderr.encoding = encoding |
267 | + handler = logging.StreamHandler(stream=stderr) |
268 | + handler.setLevel(logging.INFO) |
269 | + |
270 | + logger = logging.getLogger('') |
271 | + logger.addHandler(handler) |
272 | + |
273 | + try: |
274 | + result = self._run_bzr_core(args, |
275 | + encoding=encoding, stdin=stdin, stdout=stdout, |
276 | + stderr=stderr, working_dir=working_dir, |
277 | + ) |
278 | + finally: |
279 | + logger.removeHandler(handler) |
280 | + |
281 | + out = stdout.getvalue() |
282 | + err = stderr.getvalue() |
283 | + if out: |
284 | + self.log('output:\n%r', out) |
285 | + if err: |
286 | + self.log('errors:\n%r', err) |
287 | + if retcode is not None: |
288 | + self.assertEqual(retcode, result, |
289 | + message='Unexpected return code') |
290 | self.assertIsInstance(error_regexes, (list, tuple)) |
291 | for regex in error_regexes: |
292 | self.assertContainsRe(err, regex) |
293 | |
294 | === modified file 'breezy/tests/blackbox/test_command_encoding.py' |
295 | --- breezy/tests/blackbox/test_command_encoding.py 2018-07-15 19:09:26 +0000 |
296 | +++ breezy/tests/blackbox/test_command_encoding.py 2018-08-14 20:37:51 +0000 |
297 | @@ -51,11 +51,11 @@ |
298 | def test_exact(self): |
299 | def bzr(*args, **kwargs): |
300 | kwargs['encoding'] = 'ascii' |
301 | - return self.run_bzr(*args, **kwargs)[0] |
302 | + return self.run_bzr_raw(*args, **kwargs)[0] |
303 | |
304 | register_command(cmd_echo_exact) |
305 | try: |
306 | - self.assertEqual('foo', bzr('echo-exact foo')) |
307 | + self.assertEqual(b'foo', bzr('echo-exact foo')) |
308 | # Exact should fail to decode the string |
309 | self.assertRaises(UnicodeEncodeError, |
310 | bzr, |
311 | @@ -68,14 +68,13 @@ |
312 | def test_strict_utf8(self): |
313 | def bzr(*args, **kwargs): |
314 | kwargs['encoding'] = 'utf-8' |
315 | - return self.run_bzr(*args, **kwargs)[0] |
316 | + return self.run_bzr_raw(*args, **kwargs)[0] |
317 | |
318 | register_command(cmd_echo_strict) |
319 | try: |
320 | - self.assertEqual('foo', bzr('echo-strict foo')) |
321 | + self.assertEqual(b'foo', bzr('echo-strict foo')) |
322 | expected = u'foo\xb5' |
323 | - if not PY3: |
324 | - expected = expected.encode('utf-8') |
325 | + expected = expected.encode('utf-8') |
326 | self.assertEqual(expected, |
327 | bzr(['echo-strict', u'foo\xb5'])) |
328 | finally: |
329 | @@ -84,11 +83,11 @@ |
330 | def test_strict_ascii(self): |
331 | def bzr(*args, **kwargs): |
332 | kwargs['encoding'] = 'ascii' |
333 | - return self.run_bzr(*args, **kwargs)[0] |
334 | + return self.run_bzr_raw(*args, **kwargs)[0] |
335 | |
336 | register_command(cmd_echo_strict) |
337 | try: |
338 | - self.assertEqual('foo', bzr('echo-strict foo')) |
339 | + self.assertEqual(b'foo', bzr('echo-strict foo')) |
340 | # ascii can't encode \xb5 |
341 | self.assertRaises(UnicodeEncodeError, |
342 | bzr, |
343 | @@ -99,11 +98,11 @@ |
344 | def test_replace_utf8(self): |
345 | def bzr(*args, **kwargs): |
346 | kwargs['encoding'] = 'utf-8' |
347 | - return self.run_bzr(*args, **kwargs)[0] |
348 | + return self.run_bzr_raw(*args, **kwargs)[0] |
349 | |
350 | register_command(cmd_echo_replace) |
351 | try: |
352 | - self.assertEqual('foo', bzr('echo-replace foo')) |
353 | + self.assertEqual(b'foo', bzr('echo-replace foo')) |
354 | self.assertEqual(u'foo\xb5'.encode('utf-8'), |
355 | bzr(['echo-replace', u'foo\xb5'])) |
356 | finally: |
357 | @@ -112,13 +111,13 @@ |
358 | def test_replace_ascii(self): |
359 | def bzr(*args, **kwargs): |
360 | kwargs['encoding'] = 'ascii' |
361 | - return self.run_bzr(*args, **kwargs)[0] |
362 | + return self.run_bzr_raw(*args, **kwargs)[0] |
363 | |
364 | register_command(cmd_echo_replace) |
365 | try: |
366 | - self.assertEqual('foo', bzr('echo-replace foo')) |
367 | + self.assertEqual(b'foo', bzr('echo-replace foo')) |
368 | # ascii can't encode \xb5 |
369 | - self.assertEqual('foo?', bzr(['echo-replace', u'foo\xb5'])) |
370 | + self.assertEqual(b'foo?', bzr(['echo-replace', u'foo\xb5'])) |
371 | finally: |
372 | plugin_cmds.remove('echo-replace') |
373 | |
374 | |
375 | === modified file 'breezy/tests/blackbox/test_commit.py' |
376 | --- breezy/tests/blackbox/test_commit.py 2018-07-27 01:17:23 +0000 |
377 | +++ breezy/tests/blackbox/test_commit.py 2018-08-14 20:37:51 +0000 |
378 | @@ -176,20 +176,23 @@ |
379 | tree = self.make_branch_and_tree(".") |
380 | self.build_tree(["f"]) |
381 | tree.add(["f"]) |
382 | - out, err = self.run_bzr(["commit", "-m", "Wrong filename", u"\xa7"], |
383 | + out, err = self.run_bzr_raw(["commit", "-m", "Wrong filename", u"\xa7"], |
384 | encoding="utf-8", retcode=3) |
385 | - self.assertContainsRe(err, "(?m)not versioned: \"\xc2\xa7\"$") |
386 | + self.assertContainsRe(err, b"(?m)not versioned: \"\xc2\xa7\"$") |
387 | |
388 | def test_non_ascii_file_unversioned_iso_8859_5(self): |
389 | self.requireFeature(features.UnicodeFilenameFeature) |
390 | tree = self.make_branch_and_tree(".") |
391 | self.build_tree(["f"]) |
392 | tree.add(["f"]) |
393 | - out, err = self.run_bzr(["commit", "-m", "Wrong filename", u"\xa7"], |
394 | + out, err = self.run_bzr_raw(["commit", "-m", "Wrong filename", u"\xa7"], |
395 | encoding="iso-8859-5", retcode=3) |
396 | - self.expectFailure("Error messages are always written as UTF-8", |
397 | - self.assertNotContainsString, err, "\xc2\xa7") |
398 | - self.assertContainsRe(err, "(?m)not versioned: \"\xfd\"$") |
399 | + if not PY3: |
400 | + self.expectFailure("Error messages are always written as UTF-8", |
401 | + self.assertNotContainsString, err, b"\xc2\xa7") |
402 | + else: |
403 | + self.assertNotContainsString(err, b"\xc2\xa7") |
404 | + self.assertContainsRe(err, b"(?m)not versioned: \"\xfd\"$") |
405 | |
406 | def test_warn_about_forgotten_commit_message(self): |
407 | """Test that the lack of -m parameter is caught""" |
408 | @@ -541,13 +544,13 @@ |
409 | tree = self.make_branch_and_tree('tree') |
410 | self.build_tree(['tree/hello.txt']) |
411 | tree.add('hello.txt') |
412 | - output, err = self.run_bzr( |
413 | + output, err = self.run_bzr_raw( |
414 | ['commit', '-m', 'hello', |
415 | u'--fixes=generic:\u20ac', 'tree/hello.txt'], |
416 | encoding='utf-8', retcode=3) |
417 | - self.assertEqual('', output) |
418 | + self.assertEqual(b'', output) |
419 | self.assertContainsRe(err, |
420 | - 'brz: ERROR: Unrecognized bug generic:\xe2\x82\xac\\. Commit refused.\n') |
421 | + b'brz: ERROR: Unrecognized bug generic:\xe2\x82\xac\\. Commit refused.\n') |
422 | |
423 | def test_no_bugs_no_properties(self): |
424 | """If no bugs are fixed, the bugs property is not set. |
425 | |
426 | === modified file 'breezy/tests/blackbox/test_export.py' |
427 | --- breezy/tests/blackbox/test_export.py 2018-07-24 19:02:16 +0000 |
428 | +++ breezy/tests/blackbox/test_export.py 2018-08-14 20:37:51 +0000 |
429 | @@ -154,7 +154,7 @@ |
430 | |
431 | def test_zip_export_stdout(self): |
432 | tree = self.make_basic_tree() |
433 | - contents = self.run_bzr('export -d tree --format=zip -')[0] |
434 | + contents = self.run_bzr_raw('export -d tree --format=zip -')[0] |
435 | self.assertZipANameAndContent(zipfile.ZipFile(BytesIO(contents))) |
436 | |
437 | def test_zip_export_file(self): |
438 | @@ -184,7 +184,7 @@ |
439 | mode = 'r|%s' % (tarfile_flags,) |
440 | ball = tarfile.open(fname, mode=mode) |
441 | self.assertTarANameAndContent(ball, root='test/') |
442 | - content = self.run_bzr('export -d tree --format=%s -' % (extension,))[0] |
443 | + content = self.run_bzr_raw('export -d tree --format=%s -' % (extension,))[0] |
444 | ball = tarfile.open(mode=mode, fileobj=BytesIO(content)) |
445 | self.assertTarANameAndContent(ball, root='') |
446 | |
447 | |
448 | === modified file 'breezy/tests/blackbox/test_help.py' |
449 | --- breezy/tests/blackbox/test_help.py 2018-07-15 18:45:17 +0000 |
450 | +++ breezy/tests/blackbox/test_help.py 2018-08-14 20:37:51 +0000 |
451 | @@ -187,17 +187,17 @@ |
452 | self.overrideAttr(i18n, '_translations', ZzzTranslations()) |
453 | |
454 | def test_help_command_utf8(self): |
455 | - out, err = self.run_bzr(["help", "push"], encoding="utf-8") |
456 | + out, err = self.run_bzr_raw(["help", "push"], encoding="utf-8") |
457 | self.assertContainsRe(out, b"zz\xc3\xa5{{:See also:") |
458 | |
459 | def test_help_switch_utf8(self): |
460 | - out, err = self.run_bzr(["push", "--help"], encoding="utf-8") |
461 | + out, err = self.run_bzr_raw(["push", "--help"], encoding="utf-8") |
462 | self.assertContainsRe(out, b"zz\xc3\xa5{{:See also:") |
463 | |
464 | def test_help_command_ascii(self): |
465 | - out, err = self.run_bzr(["help", "push"], encoding="ascii") |
466 | + out, err = self.run_bzr_raw(["help", "push"], encoding="ascii") |
467 | self.assertContainsRe(out, b"zz\\?{{:See also:") |
468 | |
469 | def test_help_switch_ascii(self): |
470 | - out, err = self.run_bzr(["push", "--help"], encoding="ascii") |
471 | + out, err = self.run_bzr_raw(["push", "--help"], encoding="ascii") |
472 | self.assertContainsRe(out, b"zz\\?{{:See also:") |
473 | |
474 | === modified file 'breezy/tests/blackbox/test_log.py' |
475 | --- breezy/tests/blackbox/test_log.py 2018-07-27 01:17:23 +0000 |
476 | +++ breezy/tests/blackbox/test_log.py 2018-08-14 20:37:51 +0000 |
477 | @@ -814,7 +814,7 @@ |
478 | self.build_tree(['a']) |
479 | brz('add a') |
480 | brz(['commit', '-m', u'\u0422\u0435\u0441\u0442']) |
481 | - stdout, stderr = self.run_bzr('log', encoding='cp866') |
482 | + stdout, stderr = self.run_bzr_raw('log', encoding='cp866') |
483 | |
484 | message = stdout.splitlines()[-1] |
485 | |
486 | @@ -824,8 +824,8 @@ |
487 | # in cp1251 encoding this is string '\xd2\xe5\xf1\xf2' |
488 | # This test should check that output of log command |
489 | # encoded to sys.stdout.encoding |
490 | - test_in_cp866 = '\x92\xa5\xe1\xe2' |
491 | - test_in_cp1251 = '\xd2\xe5\xf1\xf2' |
492 | + test_in_cp866 = b'\x92\xa5\xe1\xe2' |
493 | + test_in_cp1251 = b'\xd2\xe5\xf1\xf2' |
494 | # Make sure the log string is encoded in cp866 |
495 | self.assertEqual(test_in_cp866, message[2:]) |
496 | # Make sure the cp1251 string is not found anywhere |
497 | |
498 | === modified file 'breezy/tests/blackbox/test_non_ascii.py' |
499 | --- breezy/tests/blackbox/test_non_ascii.py 2018-07-17 21:20:55 +0000 |
500 | +++ breezy/tests/blackbox/test_non_ascii.py 2018-08-14 20:37:51 +0000 |
501 | @@ -61,12 +61,9 @@ |
502 | if encoding is None: |
503 | encoding = osutils.get_user_encoding() |
504 | try: |
505 | - out = self.run_bzr(args, encoding=encoding, |
506 | + out = self.run_bzr_raw(args, encoding=encoding, |
507 | retcode=retcode, working_dir=working_dir)[0] |
508 | - if PY3: |
509 | - return out.encode(encoding, 'replace').decode(encoding) |
510 | - else: |
511 | - return out.decode(encoding) |
512 | + return out.decode(encoding) |
513 | except UnicodeError as e: |
514 | if not fail: |
515 | raise |
516 | @@ -157,12 +154,12 @@ |
517 | def test_cat(self): |
518 | # brz cat shouldn't change the contents |
519 | # using run_brz since that doesn't decode |
520 | - txt = self.run_bzr('cat b')[0] |
521 | - self.assertEqual('non-ascii \xFF\xFF\xFC\xFB\x00 in b\n', txt) |
522 | + txt = self.run_bzr_raw('cat b')[0] |
523 | + self.assertEqual(b'non-ascii \xFF\xFF\xFC\xFB\x00 in b\n', txt) |
524 | |
525 | self._check_OSX_can_roundtrip(self.info['filename']) |
526 | - txt = self.run_bzr(['cat', self.info['filename']])[0] |
527 | - self.assertEqual('unicode filename\n', txt) |
528 | + txt = self.run_bzr_raw(['cat', self.info['filename']])[0] |
529 | + self.assertEqual(b'unicode filename\n', txt) |
530 | |
531 | def test_cat_revision(self): |
532 | committer = self.info['committer'] |
533 | @@ -179,8 +176,8 @@ |
534 | self.assertEqual(u'added %s\n' % self.info['directory'], txt) |
535 | |
536 | # The text should be garbled, but the command should succeed |
537 | - txt = self.run_bzr_decode(['mkdir', self.info['directory'] + '2'], |
538 | - encoding='ascii') |
539 | + txt = self.run_bzr_raw(['mkdir', self.info['directory'] + '2'], |
540 | + encoding='ascii')[0] |
541 | expected = u'added %s2\n' % (self.info['directory'],) |
542 | expected = expected.encode('ascii', 'replace') |
543 | self.assertEqual(expected, txt) |
544 | @@ -245,9 +242,9 @@ |
545 | |
546 | # The rename should still succeed |
547 | newpath = u'%s/%s' % (dirname, fname2) |
548 | - txt = self.run_bzr_decode(['mv', newpath, 'a'], encoding='ascii') |
549 | + txt = self.run_bzr_raw(['mv', newpath, 'a'], encoding='ascii')[0] |
550 | self.assertPathExists('a') |
551 | - self.assertEqual(newpath.encode('ascii', 'replace') + ' => a\n', txt) |
552 | + self.assertEqual(newpath.encode('ascii', 'replace') + b' => a\n', txt) |
553 | |
554 | def test_branch(self): |
555 | # We should be able to branch into a directory that |
556 | @@ -445,8 +442,7 @@ |
557 | self.assertNotEqual(-1, txt.find(fname)) |
558 | |
559 | # Make sure log doesn't fail even if we can't write out |
560 | - txt = self.run_bzr_decode('log --verbose', encoding='ascii') |
561 | - self.assertEqual(-1, txt.find(fname)) |
562 | + txt = self.run_bzr_raw('log --verbose', encoding='ascii')[0] |
563 | self.assertNotEqual(-1, txt.find(fname.encode('ascii', 'replace'))) |
564 | |
565 | def test_touching_revisions(self): |
566 | @@ -536,8 +532,8 @@ |
567 | self.assertNotEqual(-1, txt.find(msg)) |
568 | |
569 | # Make sure missing doesn't fail even if we can't write out |
570 | - txt = self.run_bzr_decode('missing empty-tree', encoding='ascii') |
571 | - self.assertEqual(-1, txt.find(msg)) |
572 | + txt = self.run_bzr_raw('missing empty-tree', encoding='ascii', |
573 | + retcode=1)[0] |
574 | self.assertNotEqual(-1, txt.find(msg.encode('ascii', 'replace'))) |
575 | |
576 | def test_info(self): |
577 | |
578 | === modified file 'breezy/tests/blackbox/test_shelve.py' |
579 | --- breezy/tests/blackbox/test_shelve.py 2018-07-22 17:06:14 +0000 |
580 | +++ breezy/tests/blackbox/test_shelve.py 2018-08-14 20:37:51 +0000 |
581 | @@ -103,6 +103,7 @@ |
582 | contents of file |
583 | ''') |
584 | |
585 | + |
586 | class TestUnshelvePreview(TestCaseWithTransport): |
587 | |
588 | def test_non_ascii(self): |
589 | @@ -111,7 +112,7 @@ |
590 | init_content = u'Initial: \u0418\u0437\u043d\u0430\u0447\n'.encode('utf-8') |
591 | more_content = u'More: \u0415\u0449\u0451\n'.encode('utf-8') |
592 | next_content = init_content + more_content |
593 | - diff_part = '@@ -1,1 +1,2 @@\n %s+%s' % (init_content, more_content) |
594 | + diff_part = b'@@ -1,1 +1,2 @@\n %s+%s' % (init_content, more_content) |
595 | |
596 | tree = self.make_branch_and_tree('.') |
597 | self.build_tree_contents([('a_file', init_content)]) |
598 | @@ -119,7 +120,7 @@ |
599 | tree.commit(message='committed') |
600 | self.build_tree_contents([('a_file', next_content)]) |
601 | self.run_bzr(['shelve', '--all']) |
602 | - out, err = self.run_bzr(['unshelve', '--preview'], encoding='latin-1') |
603 | + out, err = self.run_bzr_raw(['unshelve', '--preview'], encoding='latin-1') |
604 | |
605 | self.assertContainsString(out, diff_part) |
606 | |
607 | |
608 | === modified file 'breezy/tests/blackbox/test_tags.py' |
609 | --- breezy/tests/blackbox/test_tags.py 2018-07-13 00:16:39 +0000 |
610 | +++ breezy/tests/blackbox/test_tags.py 2018-08-14 20:37:51 +0000 |
611 | @@ -42,7 +42,7 @@ |
612 | def test_cannot_tag_range(self): |
613 | out, err = self.run_bzr('tag -r1..10 name', retcode=3) |
614 | self.assertContainsRe(err, |
615 | - b"Tags can only be placed on a single revision") |
616 | + "Tags can only be placed on a single revision") |
617 | |
618 | def test_no_tag_name(self): |
619 | out, err = self.run_bzr('tag -d branch', retcode=3) |
620 | @@ -220,35 +220,34 @@ |
621 | b1.tags.set_tag(u'tag2\u30d0', b'revid-1') |
622 | |
623 | # natural order |
624 | - out, err = self.run_bzr('tags -d branch1', |
625 | - encoding='utf-8') |
626 | - self.assertEqual(err, '') |
627 | + out, err = self.run_bzr_raw('tags -d branch1', encoding='utf-8') |
628 | + self.assertEqual(err, b'') |
629 | self.assertContainsRe(out, (u'^tag1\u30d0 *2\ntag2\u30d0 *1\n' + |
630 | u'tag10\u30d0 *\\?\n').encode('utf-8')) |
631 | |
632 | # lexicographical order |
633 | - out, err = self.run_bzr('tags --sort=alpha -d branch1', |
634 | - encoding='utf-8') |
635 | - self.assertEqual(err, '') |
636 | + out, err = self.run_bzr_raw('tags --sort=alpha -d branch1', |
637 | + encoding='utf-8') |
638 | + self.assertEqual(err, b'') |
639 | self.assertContainsRe(out, (u'^tag10\u30d0 *\\?\ntag1\u30d0 *2\n' + |
640 | u'tag2\u30d0 *1\n').encode('utf-8')) |
641 | |
642 | - out, err = self.run_bzr('tags --sort=alpha --show-ids -d branch1', |
643 | + out, err = self.run_bzr_raw('tags --sort=alpha --show-ids -d branch1', |
644 | encoding='utf-8') |
645 | - self.assertEqual(err, '') |
646 | + self.assertEqual(err, b'') |
647 | self.assertContainsRe(out, (u'^tag10\u30d0 *missing\n' + |
648 | u'tag1\u30d0 *revid-2\ntag2\u30d0 *revid-1\n').encode('utf-8')) |
649 | |
650 | # chronological order |
651 | - out, err = self.run_bzr('tags --sort=time -d branch1', |
652 | + out, err = self.run_bzr_raw('tags --sort=time -d branch1', |
653 | encoding='utf-8') |
654 | - self.assertEqual(err, '') |
655 | + self.assertEqual(err, b'') |
656 | self.assertContainsRe(out, (u'^tag2\u30d0 *1\ntag1\u30d0 *2\n' + |
657 | u'tag10\u30d0 *\\?\n').encode('utf-8')) |
658 | |
659 | - out, err = self.run_bzr('tags --sort=time --show-ids -d branch1', |
660 | + out, err = self.run_bzr_raw('tags --sort=time --show-ids -d branch1', |
661 | encoding='utf-8') |
662 | - self.assertEqual(err, '') |
663 | + self.assertEqual(err, b'') |
664 | self.assertContainsRe(out, (u'^tag2\u30d0 *revid-1\n' + |
665 | u'tag1\u30d0 *revid-2\ntag10\u30d0 *missing\n').encode('utf-8')) |
666 | |
667 | |
668 | === modified file 'breezy/tests/blackbox/test_version.py' |
669 | --- breezy/tests/blackbox/test_version.py 2018-07-27 01:17:23 +0000 |
670 | +++ breezy/tests/blackbox/test_version.py 2018-08-14 20:37:51 +0000 |
671 | @@ -101,9 +101,9 @@ |
672 | else: |
673 | self.overrideEnv('BRZ_HOME', str_val) |
674 | self.permit_source_tree_branch_repo() |
675 | - out = self.run_bzr("version")[0] |
676 | + out = self.run_bzr_raw("version")[0] |
677 | self.assertTrue(len(out) > 0) |
678 | - self.assertContainsRe(out, r"(?m)^ Breezy configuration: " + str_val) |
679 | + self.assertContainsRe(out, br"(?m)^ Breezy configuration: " + str_val) |
680 | |
681 | |
682 | class TestVersionBzrLogLocation(TestCaseInTempDir): |
683 | @@ -115,7 +115,7 @@ |
684 | self.assertPathDoesNotExist([default_log, brz_log]) |
685 | out = self.run_bzr_subprocess('version')[0] |
686 | self.assertTrue(len(out) > 0) |
687 | - self.assertContainsRe(out, br"(?m)^ Breezy log file: " + brz_log) |
688 | + self.assertContainsRe(out, br"(?m)^ Breezy log file: " + brz_log.encode('ascii')) |
689 | self.assertPathDoesNotExist(default_log) |
690 | self.assertPathExists(brz_log) |
691 | |
692 | @@ -131,7 +131,7 @@ |
693 | self.assertPathDoesNotExist(default_log) |
694 | out = self.run_bzr_subprocess('version')[0] |
695 | self.assertTrue(len(out) > 0) |
696 | - self.assertContainsRe(out, br"(?m)^ Breezy log file: " + brz_log) |
697 | + self.assertContainsRe(out, br"(?m)^ Breezy log file: " + brz_log.encode('ascii')) |
698 | self.assertPathDoesNotExist(default_log) |
699 | |
700 | def test_unicode_brz_log(self): |
701 | @@ -144,8 +144,11 @@ |
702 | "Test string %r unrepresentable in user encoding %s" % ( |
703 | uni_val, enc)) |
704 | self.overrideEnv('BRZ_HOME', self.test_base_dir) |
705 | - self.overrideEnv("BRZ_LOG", |
706 | - os.path.join(self.test_base_dir, uni_val).encode(enc)) |
707 | + brz_log = os.path.join(self.test_base_dir, uni_val) |
708 | + if PY3: |
709 | + self.overrideEnv("BRZ_LOG", brz_log) |
710 | + else: |
711 | + self.overrideEnv("BRZ_LOG", brz_log.encode(enc)) |
712 | out, err = self.run_bzr_subprocess("version") |
713 | uni_out = out.decode(enc) |
714 | self.assertContainsRe(uni_out, u"(?m)^ Breezy log file: .*/\xa7$") |
715 | |
716 | === modified file 'breezy/tests/blackbox/test_version_info.py' |
717 | --- breezy/tests/blackbox/test_version_info.py 2018-07-25 01:23:15 +0000 |
718 | +++ breezy/tests/blackbox/test_version_info.py 2018-08-14 20:37:51 +0000 |
719 | @@ -171,11 +171,10 @@ |
720 | self.build_tree(['a_file']) |
721 | tree.add('a_file') |
722 | tree.commit(commit_message) |
723 | - out, err = self.run_bzr( |
724 | + out, err = self.run_bzr_raw( |
725 | ['version-info', '--include-history'], encoding='latin-1') |
726 | |
727 | - if not PY3: |
728 | - commit_message = commit_message.encode('latin-1', 'replace') |
729 | + commit_message = commit_message.encode('latin-1', 'replace') |
730 | self.assertContainsString(out, commit_message) |
731 | |
732 | def test_revision(self): |
733 | |
734 | === modified file 'breezy/tests/script.py' |
735 | --- breezy/tests/script.py 2018-07-15 18:45:17 +0000 |
736 | +++ breezy/tests/script.py 2018-08-14 20:37:51 +0000 |
737 | @@ -22,14 +22,18 @@ |
738 | import doctest |
739 | import errno |
740 | import glob |
741 | +import logging |
742 | import os |
743 | import shlex |
744 | +import sys |
745 | import textwrap |
746 | |
747 | from .. import ( |
748 | osutils, |
749 | tests, |
750 | + trace, |
751 | ) |
752 | +from ..tests import ui_testing |
753 | |
754 | |
755 | def split(s): |
756 | @@ -315,9 +319,32 @@ |
757 | return output |
758 | |
759 | def do_brz(self, test_case, input, args): |
760 | - retcode, out, err = test_case._run_bzr_core( |
761 | - args, retcode=None, encoding=None, stdin=input, working_dir=None) |
762 | - return retcode, out, err |
763 | + encoding = osutils.get_user_encoding() |
764 | + if sys.version_info[0] == 2: |
765 | + stdout = ui_testing.BytesIOWithEncoding() |
766 | + stderr = ui_testing.BytesIOWithEncoding() |
767 | + stdout.encoding = stderr.encoding = encoding |
768 | + |
769 | + # FIXME: don't call into logging here |
770 | + handler = trace.EncodedStreamHandler( |
771 | + stderr, errors="replace") |
772 | + else: |
773 | + stdout = ui_testing.StringIOWithEncoding() |
774 | + stderr = ui_testing.StringIOWithEncoding() |
775 | + stdout.encoding = stderr.encoding = encoding |
776 | + handler = logging.StreamHandler(stderr) |
777 | + handler.setLevel(logging.INFO) |
778 | + |
779 | + logger = logging.getLogger('') |
780 | + logger.addHandler(handler) |
781 | + try: |
782 | + retcode = test_case._run_bzr_core( |
783 | + args, encoding=encoding, stdin=input, stdout=stdout, |
784 | + stderr=stderr, working_dir=None) |
785 | + finally: |
786 | + logger.removeHandler(handler) |
787 | + |
788 | + return retcode, stdout.getvalue(), stderr.getvalue() |
789 | |
790 | def do_cat(self, test_case, input, args): |
791 | (in_name, out_name, out_mode, args) = _scan_redirection_options(args) |
792 | |
793 | === modified file 'breezy/tests/test_errors.py' |
794 | --- breezy/tests/test_errors.py 2017-10-27 00:18:42 +0000 |
795 | +++ breezy/tests/test_errors.py 2018-08-14 20:37:51 +0000 |
796 | @@ -29,6 +29,7 @@ |
797 | urlutils, |
798 | ) |
799 | from ..sixish import ( |
800 | + PY3, |
801 | text_type, |
802 | ) |
803 | |
804 | @@ -511,12 +512,15 @@ |
805 | def test_always_str(self): |
806 | e = PassThroughError(u'\xb5', 'bar') |
807 | self.assertIsInstance(e.__str__(), str) |
808 | - # In Python str(foo) *must* return a real byte string |
809 | + # In Python 2 str(foo) *must* return a real byte string |
810 | # not a Unicode string. The following line would raise a |
811 | # Unicode error, because it tries to call str() on the string |
812 | # returned from e.__str__(), and it has non ascii characters |
813 | s = str(e) |
814 | - self.assertEqual('Pass through \xc2\xb5 and bar', s) |
815 | + if PY3: |
816 | + self.assertEqual('Pass through \xb5 and bar', s) |
817 | + else: |
818 | + self.assertEqual('Pass through \xc2\xb5 and bar', s) |
819 | |
820 | def test_missing_format_string(self): |
821 | e = ErrorWithNoFormat(param='randomvalue') |
822 | |
823 | === modified file 'breezy/tests/test_nonascii.py' |
824 | --- breezy/tests/test_nonascii.py 2018-07-24 21:44:05 +0000 |
825 | +++ breezy/tests/test_nonascii.py 2018-08-14 20:37:51 +0000 |
826 | @@ -154,7 +154,7 @@ |
827 | with open(path, 'rb') as f: |
828 | # Check the contents |
829 | shouldbe = b'contents of %s%s' % (path.encode('utf8'), |
830 | - os.linesep) |
831 | + os.linesep.encode('utf-8')) |
832 | actual = f.read() |
833 | self.assertEqual(shouldbe, actual, |
834 | 'contents of %r is incorrect: %r != %r' |
835 | |
836 | === modified file 'breezy/tests/test_osutils.py' |
837 | --- breezy/tests/test_osutils.py 2018-07-24 22:51:28 +0000 |
838 | +++ breezy/tests/test_osutils.py 2018-08-14 20:37:51 +0000 |
839 | @@ -1202,8 +1202,8 @@ |
840 | self.build_tree(tree) |
841 | |
842 | # rename the 1file to a latin-1 filename |
843 | - os.rename("./1file", "\xe8file") |
844 | - if "\xe8file" not in os.listdir("."): |
845 | + os.rename(b"./1file", b"\xe8file") |
846 | + if b"\xe8file" not in os.listdir("."): |
847 | self.skipTest("Lack filesystem that preserves arbitrary bytes") |
848 | |
849 | self._save_platform_info() |
850 | @@ -1211,7 +1211,7 @@ |
851 | |
852 | # this should raise on error |
853 | def attempt(): |
854 | - for dirdetail, dirblock in osutils.walkdirs('.'): |
855 | + for dirdetail, dirblock in osutils.walkdirs(b'.'): |
856 | pass |
857 | |
858 | self.assertRaises(errors.BadFilenameEncoding, attempt) |
859 | @@ -1245,11 +1245,15 @@ |
860 | ] |
861 | result = [] |
862 | found_bzrdir = False |
863 | - for dirdetail, dirblock in osutils._walkdirs_utf8('.'): |
864 | - if len(dirblock) and dirblock[0][1] == '.bzr': |
865 | + for dirdetail, dirblock in osutils._walkdirs_utf8(b'.'): |
866 | + if len(dirblock) and dirblock[0][1] == b'.bzr': |
867 | # this tests the filtering of selected paths |
868 | found_bzrdir = True |
869 | del dirblock[0] |
870 | + dirdetail = (dirdetail[0].decode('utf-8'), dirdetail[1]) |
871 | + dirblock = [ |
872 | + (entry[0].decode('utf-8'), entry[1].decode('utf-8'), entry[2]) |
873 | + for entry in dirblock] |
874 | result.append((dirdetail, dirblock)) |
875 | |
876 | self.assertTrue(found_bzrdir) |
877 | @@ -1720,7 +1724,10 @@ |
878 | % (osutils.get_user_encoding(),)) |
879 | |
880 | old = osutils.set_or_unset_env('BRZ_TEST_ENV_VAR', uni_val) |
881 | - self.assertEqual(env_val, os.environ.get('BRZ_TEST_ENV_VAR')) |
882 | + if PY3: |
883 | + self.assertEqual(uni_val, os.environ.get('BRZ_TEST_ENV_VAR')) |
884 | + else: |
885 | + self.assertEqual(env_val, os.environ.get('BRZ_TEST_ENV_VAR')) |
886 | |
887 | def test_unset(self): |
888 | """Test that passing None will remove the env var""" |
889 | @@ -2150,11 +2157,16 @@ |
890 | self.assertEqual(u'/home/\xa7test', |
891 | osutils._posix_path_from_environ('BRZ_TEST_PATH')) |
892 | osutils._fs_enc = "iso8859-5" |
893 | - self.assertEqual(u'/home/\u0407test', |
894 | - osutils._posix_path_from_environ('BRZ_TEST_PATH')) |
895 | - osutils._fs_enc = "utf-8" |
896 | - self.assertRaises(errors.BadFilenameEncoding, |
897 | - osutils._posix_path_from_environ, 'BRZ_TEST_PATH') |
898 | + if PY3: |
899 | + # In Python 3, os.environ returns unicode. |
900 | + self.assertEqual(u'/home/\xa7test', |
901 | + osutils._posix_path_from_environ('BRZ_TEST_PATH')) |
902 | + else: |
903 | + self.assertEqual(u'/home/\u0407test', |
904 | + osutils._posix_path_from_environ('BRZ_TEST_PATH')) |
905 | + osutils._fs_enc = "utf-8" |
906 | + self.assertRaises(errors.BadFilenameEncoding, |
907 | + osutils._posix_path_from_environ, 'BRZ_TEST_PATH') |
908 | |
909 | |
910 | class TestGetHomeDir(tests.TestCase): |
911 | @@ -2180,10 +2192,14 @@ |
912 | self.overrideAttr(osutils, "_fs_enc", "iso8859-1") |
913 | self.assertEqual(u'/home/\xa7test', osutils._posix_get_home_dir()) |
914 | osutils._fs_enc = "iso8859-5" |
915 | - self.assertEqual(u'/home/\u0407test', osutils._posix_get_home_dir()) |
916 | - osutils._fs_enc = "utf-8" |
917 | - self.assertRaises(errors.BadFilenameEncoding, |
918 | - osutils._posix_get_home_dir) |
919 | + if PY3: |
920 | + # In python 3, os.environ returns unicode |
921 | + self.assertEqual(u'/home/\xa7test', osutils._posix_get_home_dir()) |
922 | + else: |
923 | + self.assertEqual(u'/home/\u0407test', osutils._posix_get_home_dir()) |
924 | + osutils._fs_enc = "utf-8" |
925 | + self.assertRaises(errors.BadFilenameEncoding, |
926 | + osutils._posix_get_home_dir) |
927 | |
928 | |
929 | class TestGetuserUnicode(tests.TestCase): |
930 | @@ -2212,7 +2228,10 @@ |
931 | % (osutils.get_user_encoding(),)) |
932 | uni_username = u'jrandom' + uni_val |
933 | encoded_username = uni_username.encode(ue) |
934 | - self.overrideEnv(self.envvar_to_override(), encoded_username) |
935 | + if PY3: |
936 | + self.overrideEnv(self.envvar_to_override(), uni_username) |
937 | + else: |
938 | + self.overrideEnv(self.envvar_to_override(), encoded_username) |
939 | self.assertEqual(uni_username, osutils.getuser_unicode()) |
940 | |
941 | |
942 | |
943 | === modified file 'breezy/tests/test_remote.py' |
944 | --- breezy/tests/test_remote.py 2018-08-02 01:10:26 +0000 |
945 | +++ breezy/tests/test_remote.py 2018-08-14 20:37:51 +0000 |
946 | @@ -71,6 +71,7 @@ |
947 | ) |
948 | from ..sixish import ( |
949 | BytesIO, |
950 | + PY3, |
951 | text_type, |
952 | ) |
953 | from ..bzr.smart import medium, request |
954 | @@ -337,10 +338,13 @@ |
955 | client = FakeClient('/') |
956 | client.add_success_response(b'yes',) |
957 | transport = RemoteTransport('bzr://localhost/', _client=client) |
958 | - filename = u'/hell\u00d8'.encode('utf-8') |
959 | - result = transport.has(filename) |
960 | + filename = u'/hell\u00d8' |
961 | + if PY3: |
962 | + result = transport.has(filename) |
963 | + else: |
964 | + result = transport.has(filename.encode('utf-8')) |
965 | self.assertEqual( |
966 | - [('call', b'has', (filename,))], |
967 | + [('call', b'has', (filename.encode('utf-8'),))], |
968 | client._calls) |
969 | self.assertTrue(result) |
970 | |
971 | |
972 | === modified file 'breezy/tests/test_selftest.py' |
973 | --- breezy/tests/test_selftest.py 2018-08-02 23:52:07 +0000 |
974 | +++ breezy/tests/test_selftest.py 2018-08-14 20:37:51 +0000 |
975 | @@ -1778,11 +1778,6 @@ |
976 | return ExampleTests(name) |
977 | |
978 | |
979 | -def _get_skip_reasons(result): |
980 | - # GZ 2017-06-06: Newer testtools doesn't have this, uses detail instead |
981 | - return result.skip_reasons |
982 | - |
983 | - |
984 | class TestTestCaseLogDetails(tests.TestCase): |
985 | |
986 | def _run_test(self, test_name): |
987 | @@ -1809,7 +1804,7 @@ |
988 | |
989 | def test_skip_has_no_log(self): |
990 | result = self._run_test('test_skip') |
991 | - reasons = _get_skip_reasons(result) |
992 | + reasons = result.skip_reasons |
993 | self.assertEqual({'reason'}, set(reasons)) |
994 | skips = reasons['reason'] |
995 | self.assertEqual(1, len(skips)) |
996 | @@ -1820,7 +1815,7 @@ |
997 | # testtools doesn't know about addNotSupported, so it just gets |
998 | # considered as a skip |
999 | result = self._run_test('test_missing_feature') |
1000 | - reasons = _get_skip_reasons(result) |
1001 | + reasons = result.skip_reasons |
1002 | self.assertEqual({str(missing_feature)}, set(reasons)) |
1003 | skips = reasons[str(missing_feature)] |
1004 | self.assertEqual(1, len(skips)) |
1005 | @@ -2231,7 +2226,7 @@ |
1006 | content, result = self.run_subunit_stream('test_skip') |
1007 | self.assertNotContainsRe(content, '(?m)^log$') |
1008 | self.assertNotContainsRe(content, 'this test will be skipped') |
1009 | - reasons = _get_skip_reasons(result) |
1010 | + reasons = result.skip_reasons |
1011 | self.assertEqual({'reason'}, set(reasons)) |
1012 | skips = reasons['reason'] |
1013 | self.assertEqual(1, len(skips)) |
1014 | @@ -2243,7 +2238,7 @@ |
1015 | content, result = self.run_subunit_stream('test_missing_feature') |
1016 | self.assertNotContainsRe(content, '(?m)^log$') |
1017 | self.assertNotContainsRe(content, 'missing the feature') |
1018 | - reasons = _get_skip_reasons(result) |
1019 | + reasons = result.skip_reasons |
1020 | self.assertEqual({'_MissingFeature\n'}, set(reasons)) |
1021 | skips = reasons['_MissingFeature\n'] |
1022 | self.assertEqual(1, len(skips)) |
1023 | @@ -2265,13 +2260,6 @@ |
1024 | content, result = self.run_subunit_stream('test_unexpected_success') |
1025 | self.assertContainsRe(content, '(?m)^log$') |
1026 | self.assertContainsRe(content, 'test with unexpected success') |
1027 | - # GZ 2011-05-18: Old versions of subunit treat unexpected success as a |
1028 | - # success, if a min version check is added remove this |
1029 | - from subunit import TestProtocolClient as _Client |
1030 | - if _Client.addUnexpectedSuccess.__func__ is _Client.addSuccess.__func__: |
1031 | - self.expectFailure('subunit treats "unexpectedSuccess"' |
1032 | - ' as a plain success', |
1033 | - self.assertEqual, 1, len(result.unexpectedSuccesses)) |
1034 | self.assertEqual(1, len(result.unexpectedSuccesses)) |
1035 | test = result.unexpectedSuccesses[0] |
1036 | # RemotedTestCase doesn't preserve the "details" |
1037 | @@ -2286,11 +2274,12 @@ |
1038 | |
1039 | class TestRunBzr(tests.TestCase): |
1040 | |
1041 | + result = 0 |
1042 | out = '' |
1043 | err = '' |
1044 | |
1045 | - def _run_bzr_core(self, argv, retcode=0, encoding=None, stdin=None, |
1046 | - working_dir=None): |
1047 | + def _run_bzr_core(self, argv, encoding=None, stdin=None, |
1048 | + stdout=None, stderr=None, working_dir=None): |
1049 | """Override _run_bzr_core to test how it is invoked by run_bzr. |
1050 | |
1051 | Attempts to run bzr from inside this class don't actually run it. |
1052 | @@ -2299,58 +2288,41 @@ |
1053 | only need to test that it passes the right parameters to run_bzr. |
1054 | """ |
1055 | self.argv = list(argv) |
1056 | - self.retcode = retcode |
1057 | self.encoding = encoding |
1058 | self.stdin = stdin |
1059 | self.working_dir = working_dir |
1060 | - return self.retcode, self.out, self.err |
1061 | + stdout.write(self.out) |
1062 | + stderr.write(self.err) |
1063 | + return self.result |
1064 | |
1065 | def test_run_bzr_error(self): |
1066 | self.out = "It sure does!\n" |
1067 | + self.result = 34 |
1068 | out, err = self.run_bzr_error(['^$'], ['rocks'], retcode=34) |
1069 | self.assertEqual(['rocks'], self.argv) |
1070 | - self.assertEqual(34, self.retcode) |
1071 | self.assertEqual('It sure does!\n', out) |
1072 | self.assertEqual(out, self.out) |
1073 | self.assertEqual('', err) |
1074 | self.assertEqual(err, self.err) |
1075 | |
1076 | def test_run_bzr_error_regexes(self): |
1077 | - self.out = b'' |
1078 | - self.err = b"bzr: ERROR: foobarbaz is not versioned" |
1079 | + self.out = '' |
1080 | + self.err = "bzr: ERROR: foobarbaz is not versioned" |
1081 | + self.result = 3 |
1082 | out, err = self.run_bzr_error( |
1083 | - [b"bzr: ERROR: foobarbaz is not versioned"], |
1084 | + ["bzr: ERROR: foobarbaz is not versioned"], |
1085 | ['file-id', 'foobarbaz']) |
1086 | |
1087 | def test_encoding(self): |
1088 | """Test that run_bzr passes encoding to _run_bzr_core""" |
1089 | self.run_bzr('foo bar') |
1090 | - self.assertEqual(None, self.encoding) |
1091 | + self.assertEqual(osutils.get_user_encoding(), self.encoding) |
1092 | self.assertEqual(['foo', 'bar'], self.argv) |
1093 | |
1094 | self.run_bzr('foo bar', encoding='baz') |
1095 | self.assertEqual('baz', self.encoding) |
1096 | self.assertEqual(['foo', 'bar'], self.argv) |
1097 | |
1098 | - def test_retcode(self): |
1099 | - """Test that run_bzr passes retcode to _run_bzr_core""" |
1100 | - # Default is retcode == 0 |
1101 | - self.run_bzr('foo bar') |
1102 | - self.assertEqual(0, self.retcode) |
1103 | - self.assertEqual(['foo', 'bar'], self.argv) |
1104 | - |
1105 | - self.run_bzr('foo bar', retcode=1) |
1106 | - self.assertEqual(1, self.retcode) |
1107 | - self.assertEqual(['foo', 'bar'], self.argv) |
1108 | - |
1109 | - self.run_bzr('foo bar', retcode=None) |
1110 | - self.assertEqual(None, self.retcode) |
1111 | - self.assertEqual(['foo', 'bar'], self.argv) |
1112 | - |
1113 | - self.run_bzr(['foo', 'bar'], retcode=3) |
1114 | - self.assertEqual(3, self.retcode) |
1115 | - self.assertEqual(['foo', 'bar'], self.argv) |
1116 | - |
1117 | def test_stdin(self): |
1118 | # test that the stdin keyword to run_bzr is passed through to |
1119 | # _run_bzr_core as-is. We do this by overriding |
1120 | |
1121 | === modified file 'python3.passing' |
1122 | --- python3.passing 2018-08-08 02:10:06 +0000 |
1123 | +++ python3.passing 2018-08-14 20:37:51 +0000 |
1124 | @@ -1,5 +1,320 @@ |
1125 | # This is the list of tests that are known to pass with Python3. |
1126 | # "make check-nodocs3" verifies that these pass. |
1127 | +breezy.git.tests.test_blackbox.ShallowTests.test_log_shallow |
1128 | +breezy.git.tests.test_blackbox.ShallowTests.test_version_info_custom_without_revno |
1129 | +breezy.git.tests.test_blackbox.ShallowTests.test_version_info_custom_with_revno |
1130 | +breezy.git.tests.test_blackbox.ShallowTests.test_version_info_python |
1131 | +breezy.git.tests.test_blackbox.ShallowTests.test_version_info_rio |
1132 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_branch |
1133 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_branches |
1134 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_branch_ls |
1135 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_check |
1136 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_checkout |
1137 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_diff_format |
1138 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_git_import |
1139 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_git_import_colo |
1140 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_git_import_incremental |
1141 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_git_import_tags |
1142 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_git_import_uncolocated |
1143 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_git_refs_from_bzr |
1144 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_git_refs_from_git |
1145 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_info |
1146 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_info_verbose |
1147 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_init |
1148 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_init_repo |
1149 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_log |
1150 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_log_verbose |
1151 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_nick |
1152 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_tag |
1153 | +breezy.git.tests.test_blackbox.TestGitBlackBox.test_tags |
1154 | +breezy.git.tests.test_branch.BranchTests.test_interbranch_pull |
1155 | +breezy.git.tests.test_branch.BranchTests.test_interbranch_pull_noop |
1156 | +breezy.git.tests.test_branch.BranchTests.test_interbranch_pull_stop_revision |
1157 | +breezy.git.tests.test_branch.BranchTests.test_interbranch_pull_with_tags |
1158 | +breezy.git.tests.test_branch.BranchTests.test_single_rev |
1159 | +breezy.git.tests.test_branch.BranchTests.test_sprouted_tags |
1160 | +breezy.git.tests.test_branch.TestGitBranch.test_last_revision_info |
1161 | +breezy.git.tests.test_branch.TestGitBranch.test_last_revision_is_null |
1162 | +breezy.git.tests.test_branch.TestGitBranch.test_last_revision_is_valid |
1163 | +breezy.git.tests.test_branch.TestGitBranch.test_open_by_ref |
1164 | +breezy.git.tests.test_branch.TestGitBranch.test_open_existing |
1165 | +breezy.git.tests.test_branch.TestGitBranch.test_repr |
1166 | +breezy.git.tests.test_branch.TestGitBranch.test_tag |
1167 | +breezy.git.tests.test_branch.TestGitBranch.test_tag_annotated |
1168 | +breezy.git.tests.test_branch.TestLocalGitBranchFormat.test_get_format_description |
1169 | +breezy.git.tests.test_branch.TestLocalGitBranchFormat.test_get_network_name |
1170 | +breezy.git.tests.test_branch.TestLocalGitBranchFormat.test_supports_tags |
1171 | +breezy.git.tests.test_branch.TestWithGitBranch.test_get_parent |
1172 | +breezy.git.tests.test_branch.TestWithGitBranch.test_get_physical_lock_status |
1173 | +breezy.git.tests.test_branch.TestWithGitBranch.test_get_stacked_on_url |
1174 | +breezy.git.tests.test_builder.TestGitBranchBuilderReal.test_create_real_branch |
1175 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_add_and_commit |
1176 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_auto_timestamp |
1177 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_commit_base |
1178 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_commit_merge |
1179 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test__create_blob |
1180 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_delete_entry |
1181 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_delete_entry_newline |
1182 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_encode_path |
1183 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_reset |
1184 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_reset_named_ref |
1185 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_reset_revision |
1186 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_set_file |
1187 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_set_file_executable |
1188 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_set_file_newline |
1189 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_set_file_unicode |
1190 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_set_symlink |
1191 | +breezy.git.tests.test_builder.TestGitBranchBuilder.test_set_symlink_newline |
1192 | +breezy.git.tests.test_cache.DictGitShaMapTests.test_blob |
1193 | +breezy.git.tests.test_cache.DictGitShaMapTests.test_commit |
1194 | +breezy.git.tests.test_cache.DictGitShaMapTests.test_lookup_notfound |
1195 | +breezy.git.tests.test_cache.DictGitShaMapTests.test_missing_revisions |
1196 | +breezy.git.tests.test_cache.DictGitShaMapTests.test_revids |
1197 | +breezy.git.tests.test_cache.DictGitShaMapTests.test_tree |
1198 | +breezy.git.tests.test_cache.IndexGitShaMapTests.test_blob |
1199 | +breezy.git.tests.test_cache.IndexGitShaMapTests.test_commit |
1200 | +breezy.git.tests.test_cache.IndexGitShaMapTests.test_lookup_notfound |
1201 | +breezy.git.tests.test_cache.IndexGitShaMapTests.test_missing_revisions |
1202 | +breezy.git.tests.test_cache.IndexGitShaMapTests.test_revids |
1203 | +breezy.git.tests.test_cache.IndexGitShaMapTests.test_tree |
1204 | +breezy.git.tests.test_cache.SqliteGitShaMapTests.test_blob |
1205 | +breezy.git.tests.test_cache.SqliteGitShaMapTests.test_commit |
1206 | +breezy.git.tests.test_cache.SqliteGitShaMapTests.test_lookup_notfound |
1207 | +breezy.git.tests.test_cache.SqliteGitShaMapTests.test_missing_revisions |
1208 | +breezy.git.tests.test_cache.SqliteGitShaMapTests.test_revids |
1209 | +breezy.git.tests.test_cache.SqliteGitShaMapTests.test_tree |
1210 | +breezy.git.tests.test_cache.TdbGitShaMapTests.test_blob |
1211 | +breezy.git.tests.test_cache.TdbGitShaMapTests.test_commit |
1212 | +breezy.git.tests.test_cache.TdbGitShaMapTests.test_lookup_notfound |
1213 | +breezy.git.tests.test_cache.TdbGitShaMapTests.test_missing_revisions |
1214 | +breezy.git.tests.test_cache.TdbGitShaMapTests.test_revids |
1215 | +breezy.git.tests.test_cache.TdbGitShaMapTests.test_tree |
1216 | +breezy.git.tests.test_dir.TestGitDirFormat.test_eq |
1217 | +breezy.git.tests.test_dir.TestGitDirFormat.test_get_format_description |
1218 | +breezy.git.tests.test_dir.TestGitDir.test_get_head_branch_reference |
1219 | +breezy.git.tests.test_dir.TestGitDir.test_git_file |
1220 | +breezy.git.tests.test_dir.TestGitDir.test_open_existing |
1221 | +breezy.git.tests.test_dir.TestGitDir.test_open_workingtree |
1222 | +breezy.git.tests.test_dir.TestGitDir.test_open_workingtree_bare |
1223 | +breezy.git.tests.test_fetch.ImportObjects.test_directory_converted_to_submodule |
1224 | +breezy.git.tests.test_fetch.ImportObjects.test_import_blob_simple |
1225 | +breezy.git.tests.test_fetch.ImportObjects.test_import_tree_empty |
1226 | +breezy.git.tests.test_fetch.ImportObjects.test_import_tree_empty_root |
1227 | +breezy.git.tests.test_fetch.ImportObjects.test_import_tree_with_file |
1228 | +breezy.git.tests.test_fetch.ImportObjects.test_import_tree_with_file_exe |
1229 | +breezy.git.tests.test_fetch.ImportObjects.test_import_tree_with_unusual_mode_file |
1230 | +breezy.git.tests.test_fetch.LocalRepositoryFetchTests.test_becomes_executable |
1231 | +breezy.git.tests.test_fetch.LocalRepositoryFetchTests.test_changing_symlink |
1232 | +breezy.git.tests.test_fetch.LocalRepositoryFetchTests.test_dir_becomes_symlink |
1233 | +breezy.git.tests.test_fetch.LocalRepositoryFetchTests.test_empty |
1234 | +breezy.git.tests.test_fetch.LocalRepositoryFetchTests.test_executable |
1235 | +breezy.git.tests.test_fetch.LocalRepositoryFetchTests.test_incremental |
1236 | +breezy.git.tests.test_fetch.LocalRepositoryFetchTests.test_into_stacked_on |
1237 | +breezy.git.tests.test_fetch.LocalRepositoryFetchTests.test_non_ascii_characters |
1238 | +breezy.git.tests.test_fetch.LocalRepositoryFetchTests.test_single_rev |
1239 | +breezy.git.tests.test_fetch.LocalRepositoryFetchTests.test_single_rev_specific |
1240 | +breezy.git.tests.test_fetch.LocalRepositoryFetchTests.test_symlink_becomes_dir |
1241 | +breezy.git.tests.test_fetch.LocalRepositoryFetchTests.test_tagged_tree |
1242 | +breezy.git.tests.test_git_remote_helper.FetchTests.test_no_wants |
1243 | +breezy.git.tests.test_git_remote_helper.FetchTests.test_simple |
1244 | +breezy.git.tests.test_git_remote_helper.OpenLocalDirTests.test_from_dir |
1245 | +breezy.git.tests.test_git_remote_helper.OpenLocalDirTests.test_from_env_dir |
1246 | +breezy.git.tests.test_git_remote_helper.RemoteHelperTests.test_capabilities |
1247 | +breezy.git.tests.test_git_remote_helper.RemoteHelperTests.test_import |
1248 | +breezy.git.tests.test_git_remote_helper.RemoteHelperTests.test_list_basic |
1249 | +breezy.git.tests.test_git_remote_helper.RemoteHelperTests.test_option |
1250 | +breezy.git.tests.test_mapping.FileidTests.test_escape_control_l |
1251 | +breezy.git.tests.test_mapping.FileidTests.test_escape_space |
1252 | +breezy.git.tests.test_mapping.FileidTests.test_escape_underscore |
1253 | +breezy.git.tests.test_mapping.FileidTests.test_escape_underscore_space |
1254 | +breezy.git.tests.test_mapping.FileidTests.test_unescape_control_l |
1255 | +breezy.git.tests.test_mapping.FileidTests.test_unescape_underscore |
1256 | +breezy.git.tests.test_mapping.FileidTests.test_unescape_underscore_space |
1257 | +breezy.git.tests.test_mapping.FixPersonIdentifierTests.test_fix |
1258 | +breezy.git.tests.test_mapping.FixPersonIdentifierTests.test_valid |
1259 | +breezy.git.tests.test_mapping.RoundtripRevisionsFromBazaar.test_custom_property |
1260 | +breezy.git.tests.test_mapping.RoundtripRevisionsFromBazaar.test_ghost_parent |
1261 | +breezy.git.tests.test_mapping.RoundtripRevisionsFromBazaar.test_revision_id |
1262 | +breezy.git.tests.test_mapping.RoundtripRevisionsFromBazaar.test_simple_commit |
1263 | +breezy.git.tests.test_mapping.RoundtripRevisionsFromGit.test_commit |
1264 | +breezy.git.tests.test_mapping.RoundtripRevisionsFromGit.test_commit_double_negative_timezone |
1265 | +breezy.git.tests.test_mapping.RoundtripRevisionsFromGit.test_commit_encoding |
1266 | +breezy.git.tests.test_mapping.RoundtripRevisionsFromGit.test_commit_extra |
1267 | +breezy.git.tests.test_mapping.RoundtripRevisionsFromGit.test_commit_mergetag |
1268 | +breezy.git.tests.test_mapping.RoundtripRevisionsFromGit.test_commit_zero_utc_timezone |
1269 | +breezy.git.tests.test_mapping.TestImportCommit.test_commit |
1270 | +breezy.git.tests.test_mapping.TestImportCommit.test_explicit_encoding |
1271 | +breezy.git.tests.test_mapping.TestImportCommit.test_implicit_encoding_fallback |
1272 | +breezy.git.tests.test_mapping.TestImportCommit.test_implicit_encoding_utf8 |
1273 | +breezy.git.tests.test_mapping.TestImportCommit.test_mergetag |
1274 | +breezy.git.tests.test_mapping.TestImportCommit.test_unknown_extra |
1275 | +breezy.git.tests.test_mapping.TestRevidConversionV1.test_generate_file_id |
1276 | +breezy.git.tests.test_mapping.TestRevidConversionV1.test_is_control_file |
1277 | +breezy.git.tests.test_mapping.TestRevidConversionV1.test_simple_bzr_to_git_revision_id |
1278 | +breezy.git.tests.test_mapping.TestRevidConversionV1.test_simple_git_to_bzr_revision_id |
1279 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_add_in_subdir |
1280 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_add_with_kind |
1281 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_commit_trivial |
1282 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_create_on_branch |
1283 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_create_on_branch_with_content |
1284 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_last_revision |
1285 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_lock_tree_write |
1286 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_lock_tree_write_after_read_fails |
1287 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_lock_write |
1288 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_lock_write_after_read_fails |
1289 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_put_existing_file |
1290 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_put_new_file |
1291 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_rename_file |
1292 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_rename_file_to_subdir |
1293 | +breezy.git.tests.test_memorytree.TestMemoryTree.test_unversion |
1294 | +breezy.git.tests.test_object_store.BazaarObjectStoreTests.test_contains |
1295 | +breezy.git.tests.test_object_store.BazaarObjectStoreTests.test_get_blob |
1296 | +breezy.git.tests.test_object_store.BazaarObjectStoreTests.test_get_raw |
1297 | +breezy.git.tests.test_object_store.DirectoryToTreeTests.test_empty |
1298 | +breezy.git.tests.test_object_store.DirectoryToTreeTests.test_empty_dir |
1299 | +breezy.git.tests.test_object_store.DirectoryToTreeTests.test_empty_dir_dummy_files |
1300 | +breezy.git.tests.test_object_store.DirectoryToTreeTests.test_empty_root |
1301 | +breezy.git.tests.test_object_store.DirectoryToTreeTests.test_with_file |
1302 | +breezy.git.tests.test_object_store.DirectoryToTreeTests.test_with_gitdir |
1303 | +breezy.git.tests.test_object_store.ExpectedShaTests.test_binary |
1304 | +breezy.git.tests.test_object_store.ExpectedShaTests.test_hex |
1305 | +breezy.git.tests.test_object_store.ExpectedShaTests.test_none |
1306 | +breezy.git.tests.test_object_store.FindMissingBzrRevidsTests.test_one_missing |
1307 | +breezy.git.tests.test_object_store.FindMissingBzrRevidsTests.test_simple |
1308 | +breezy.git.tests.test_object_store.FindMissingBzrRevidsTests.test_two_missing |
1309 | +breezy.git.tests.test_object_store.FindMissingBzrRevidsTests.test_two_missing_history |
1310 | +breezy.git.tests.test_object_store.FindMissingBzrRevidsTests.test_up_to_date |
1311 | +breezy.git.tests.test_object_store.LRUTreeCacheTests.test_get |
1312 | +breezy.git.tests.test_object_store.LRUTreeCacheTests.test_get_not_present |
1313 | +breezy.git.tests.test_object_store.LRUTreeCacheTests.test_iter_revision_trees |
1314 | +breezy.git.tests.test_object_store.LRUTreeCacheTests.test_revision_trees |
1315 | +breezy.git.tests.test_object_store.TreeToObjectsTests.test_no_changes |
1316 | +breezy.git.tests.test_object_store.TreeToObjectsTests.test_with_gitdir |
1317 | +breezy.git.tests.test_pristine_tar.ReadPristineTarData.test_read_pristine_tar_data |
1318 | +breezy.git.tests.test_pristine_tar.ReadPristineTarData.test_read_pristine_tar_data_no_branch |
1319 | +breezy.git.tests.test_pristine_tar.ReadPristineTarData.test_read_pristine_tar_data_no_file |
1320 | +breezy.git.tests.test_pristine_tar.RevisionPristineTarDataTests.test_pristine_tar_delta_gz |
1321 | +breezy.git.tests.test_pristine_tar.RevisionPristineTarDataTests.test_pristine_tar_delta_unknown |
1322 | +breezy.git.tests.test_pristine_tar.StoreGitPristineTarData.test_store_new |
1323 | +breezy.git.tests.test_push.InterToGitRepositoryTests.test_instance |
1324 | +breezy.git.tests.test_push.InterToGitRepositoryTests.test_missing_revisions_unknown_stop_rev |
1325 | +breezy.git.tests.test_push.InterToGitRepositoryTests.test_odd_rename |
1326 | +breezy.git.tests.test_push.InterToGitRepositoryTests.test_pointless_fetch_refs |
1327 | +breezy.git.tests.test_push.InterToGitRepositoryTests.test_pointless_fetch_refs_old_mapping |
1328 | +breezy.git.tests.test_push.InterToGitRepositoryTests.test_pointless_lossy_fetch_refs |
1329 | +breezy.git.tests.test_push.InterToGitRepositoryTests.test_pointless_missing_revisions |
1330 | +breezy.git.tests.test_refs.BazaarRefsContainerTests.test_empty |
1331 | +breezy.git.tests.test_refs.BazaarRefsContainerTests.test_some_branch |
1332 | +breezy.git.tests.test_refs.BazaarRefsContainerTests.test_some_commit |
1333 | +breezy.git.tests.test_refs.BazaarRefsContainerTests.test_some_tag |
1334 | +breezy.git.tests.test_refs.BranchNameRefConversionTests.test_branch |
1335 | +breezy.git.tests.test_refs.BranchNameRefConversionTests.test_head |
1336 | +breezy.git.tests.test_refs.BranchNameRefConversionTests.test_tag |
1337 | +breezy.git.tests.test_remote.FetchFromRemoteToBzrTests.test_sprout_simple |
1338 | +breezy.git.tests.test_remote.FetchFromRemoteToBzrTests.test_sprout_with_annotated_tag |
1339 | +breezy.git.tests.test_remote.FetchFromRemoteToBzrTests.test_sprout_with_tags |
1340 | +breezy.git.tests.test_remote.FetchFromRemoteToGitTests.test_sprout_simple |
1341 | +breezy.git.tests.test_remote.FetchFromRemoteToGitTests.test_sprout_with_annotated_tag |
1342 | +breezy.git.tests.test_remote.FetchFromRemoteToGitTests.test_sprout_with_tags |
1343 | +breezy.git.tests.test_remote.ParseGitErrorTests.test_notbrancherror |
1344 | +breezy.git.tests.test_remote.ParseGitErrorTests.test_unknown |
1345 | +breezy.git.tests.test_remote.PushToRemoteFromBzrTests.test_push |
1346 | +breezy.git.tests.test_remote.PushToRemoteFromBzrTests.test_push_branch_new |
1347 | +breezy.git.tests.test_remote.PushToRemoteFromBzrTests.test_push_diverged |
1348 | +breezy.git.tests.test_remote.PushToRemoteFromGitTests.test_push |
1349 | +breezy.git.tests.test_remote.PushToRemoteFromGitTests.test_push_branch_new |
1350 | +breezy.git.tests.test_remote.PushToRemoteFromGitTests.test_push_diverged |
1351 | +breezy.git.tests.test_remote.RemoteControlDirTests.test_annotated_tag |
1352 | +breezy.git.tests.test_remote.RemoteControlDirTests.test_get_branches |
1353 | +breezy.git.tests.test_remote.RemoteControlDirTests.test_list_branches |
1354 | +breezy.git.tests.test_remote.RemoteControlDirTests.test_remove_branch |
1355 | +breezy.git.tests.test_remote.RemoteControlDirTests.test_remove_tag |
1356 | +breezy.git.tests.test_remote.RemoteControlDirTests.test_set_tag |
1357 | +breezy.git.tests.test_remote.SplitUrlTests.test_homedir |
1358 | +breezy.git.tests.test_remote.SplitUrlTests.test_nopath |
1359 | +breezy.git.tests.test_remote.SplitUrlTests.test_port |
1360 | +breezy.git.tests.test_remote.SplitUrlTests.test_simple |
1361 | +breezy.git.tests.test_remote.SplitUrlTests.test_slashpath |
1362 | +breezy.git.tests.test_remote.SplitUrlTests.test_username |
1363 | +breezy.git.tests.test_remote.TestRemoteGitBranchFormat.test_get_format_description |
1364 | +breezy.git.tests.test_remote.TestRemoteGitBranchFormat.test_get_network_name |
1365 | +breezy.git.tests.test_remote.TestRemoteGitBranchFormat.test_supports_tags |
1366 | +breezy.git.tests.test_repository.GitRepositoryFormat.test_get_format_description |
1367 | +breezy.git.tests.test_repository.RevisionGistImportTests.test_pointless |
1368 | +breezy.git.tests.test_repository.SigningGitRepository.test_signed_commit |
1369 | +breezy.git.tests.test_repository.TestGitRepositoryFeatures.test_get_revision |
1370 | +breezy.git.tests.test_repository.TestGitRepositoryFeatures.test_get_revision_unknown |
1371 | +breezy.git.tests.test_repository.TestGitRepositoryFeatures.test_has_git_repo |
1372 | +breezy.git.tests.test_repository.TestGitRepositoryFeatures.test_has_revision |
1373 | +breezy.git.tests.test_repository.TestGitRepositoryFeatures.test_has_revisions |
1374 | +breezy.git.tests.test_repository.TestGitRepositoryFeatures.test_open_existing |
1375 | +breezy.git.tests.test_repository.TestGitRepositoryFeatures.test_pack |
1376 | +breezy.git.tests.test_repository.TestGitRepositoryFeatures.test_revision_tree |
1377 | +breezy.git.tests.test_repository.TestGitRepository.test_all_revision_ids |
1378 | +breezy.git.tests.test_repository.TestGitRepository.test_all_revision_ids_none |
1379 | +breezy.git.tests.test_repository.TestGitRepository.test_get_known_graph_ancestry |
1380 | +breezy.git.tests.test_repository.TestGitRepository.test_get_parent_map_null |
1381 | +breezy.git.tests.test_repository.TestGitRepository.test_get_signature_text |
1382 | +breezy.git.tests.test_repository.TestGitRepository.test_has_signature_for_revision_id |
1383 | +breezy.git.tests.test_repository.TestGitRepository.test_revision_tree_none |
1384 | +breezy.git.tests.test_repository.TestGitRepository.test_supports_rich_root |
1385 | +breezy.git.tests.test_revspec.Sha1ValidTests.test_invalid |
1386 | +breezy.git.tests.test_revspec.Sha1ValidTests.test_valid |
1387 | +breezy.git.tests.test_roundtrip.ExtractMetadataTests.test_roundtrip |
1388 | +breezy.git.tests.test_roundtrip.FileIdRoundTripTests.test_deserialize |
1389 | +breezy.git.tests.test_roundtrip.FileIdRoundTripTests.test_serialize |
1390 | +breezy.git.tests.test_roundtrip.FormatTests.test_empty |
1391 | +breezy.git.tests.test_roundtrip.FormatTests.test_parent_ids |
1392 | +breezy.git.tests.test_roundtrip.FormatTests.test_properties |
1393 | +breezy.git.tests.test_roundtrip.FormatTests.test_revid |
1394 | +breezy.git.tests.test_roundtrip.GenerateMetadataTests.test_no_metadata |
1395 | +breezy.git.tests.test_roundtrip.GenerateMetadataTests.test_roundtrip |
1396 | +breezy.git.tests.test_roundtrip.RoundtripTests.test_parent_ids |
1397 | +breezy.git.tests.test_roundtrip.RoundtripTests.test_properties |
1398 | +breezy.git.tests.test_roundtrip.RoundtripTests.test_revid |
1399 | +breezy.git.tests.test_server.TestPlainFetch.test_fetch_from_native_git |
1400 | +breezy.git.tests.test_server.TestPlainFetch.test_fetch_from_non_git |
1401 | +breezy.git.tests.test_server.TestPlainFetch.test_fetch_nothing |
1402 | +breezy.git.tests.test_server.TestPresent.test_present |
1403 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_add_commit |
1404 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_add_object |
1405 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_add_objects |
1406 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_add_objects_empty |
1407 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_close |
1408 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_contains_nonexistant |
1409 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_determine_wants_all |
1410 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_determine_wants_all_zero |
1411 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_empty_packs |
1412 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_get_nonexistant |
1413 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_get_raw |
1414 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_iter |
1415 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_iter_tree_contents |
1416 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_iter_tree_contents_include_trees |
1417 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_pack_loose_objects |
1418 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_peel_sha |
1419 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_remembers_packs |
1420 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_repack |
1421 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_repack_existing |
1422 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_store_resilience |
1423 | +breezy.git.tests.test_transportgit.TransportObjectStoreTests.test_tree_changes |
1424 | +breezy.git.tests.test_unpeel_map.TestUnpeelMap.test_load |
1425 | +breezy.git.tests.test_unpeel_map.TestUnpeelMap.test_new |
1426 | +breezy.git.tests.test_unpeel_map.TestUnpeelMap.test_update |
1427 | +breezy.git.tests.test_urls.TestConvertURL.test_path |
1428 | +breezy.git.tests.test_urls.TestConvertURL.test_regular |
1429 | +breezy.git.tests.test_urls.TestConvertURL.test_simple |
1430 | +breezy.git.tests.test_workingtree.ChangesBetweenGitTreeAndWorkingCopyTests.test_added_file |
1431 | +breezy.git.tests.test_workingtree.ChangesBetweenGitTreeAndWorkingCopyTests.test_added_unknown_file |
1432 | +breezy.git.tests.test_workingtree.ChangesBetweenGitTreeAndWorkingCopyTests.test_empty |
1433 | +breezy.git.tests.test_workingtree.ChangesBetweenGitTreeAndWorkingCopyTests.test_extra |
1434 | +breezy.git.tests.test_workingtree.ChangesBetweenGitTreeAndWorkingCopyTests.test_missing_added_file |
1435 | +breezy.git.tests.test_workingtree.ChangesBetweenGitTreeAndWorkingCopyTests.test_missing_versioned_file |
1436 | +breezy.git.tests.test_workingtree.ChangesBetweenGitTreeAndWorkingCopyTests.test_versioned_replace_by_dir |
1437 | +breezy.git.tests.test_workingtree.GitWorkingTreeTests.test_add_conflict |
1438 | +breezy.git.tests.test_workingtree.GitWorkingTreeTests.test_conflict_list |
1439 | +breezy.git.tests.test_workingtree.GitWorkingTreeTests.test_revert_empty |
1440 | +breezy.git.tests.test_workingtree.TreeDeltaFromGitChangesTests.test_empty |
1441 | +breezy.git.tests.test_workingtree.TreeDeltaFromGitChangesTests.test_missing |
1442 | breezy.plugins.bash_completion.tests.test_bashcomp.BlackboxTests.test_bash_completion |
1443 | breezy.plugins.bash_completion.tests.test_bashcomp.TestBashCodeGen.test_brz_version |
1444 | breezy.plugins.bash_completion.tests.test_bashcomp.TestBashCodeGen.test_command_case |
1445 | @@ -762,6 +1077,7 @@ |
1446 | breezy.plugins.grep.test_grep.TestGrep.test_wtree_include_from_outside_dir |
1447 | breezy.plugins.grep.test_grep.TestGrep.test_wtree_null_option |
1448 | breezy.plugins.grep.test_grep.TestGrep.test_wtree_with_line_number |
1449 | +breezy.plugins.grep.test_grep.TestNonAscii.test_unicode_only_file |
1450 | breezy.plugins.launchpad.test_account.CheckAccountTests.test_check_lp_login_no_ssh_keys |
1451 | breezy.plugins.launchpad.test_account.CheckAccountTests.test_check_lp_login_no_user |
1452 | breezy.plugins.launchpad.test_account.CheckAccountTests.test_check_lp_login_valid_user |
1453 | @@ -1525,6 +1841,7 @@ |
1454 | breezy.tests.blackbox.test_clean_tree.TestBzrTools.test_clean_tree_nested_bzrdir |
1455 | breezy.tests.blackbox.test_command_encoding.TestCommandEncoding.test_exact |
1456 | breezy.tests.blackbox.test_command_encoding.TestCommandEncoding.test_replace_ascii |
1457 | +breezy.tests.blackbox.test_command_encoding.TestCommandEncoding.test_replace_utf8 |
1458 | breezy.tests.blackbox.test_command_encoding.TestCommandEncoding.test_strict_ascii |
1459 | breezy.tests.blackbox.test_command_encoding.TestCommandEncoding.test_strict_utf8 |
1460 | breezy.tests.blackbox.test_commit.TestCommit.test_05_empty_commit |
1461 | @@ -1553,6 +1870,7 @@ |
1462 | breezy.tests.blackbox.test_commit.TestCommit.test_empty_commit_message |
1463 | breezy.tests.blackbox.test_commit.TestCommit.test_fixes_bug_output |
1464 | breezy.tests.blackbox.test_commit.TestCommit.test_fixes_bug_sets_property |
1465 | +breezy.tests.blackbox.test_commit.TestCommit.test_fixes_bug_unicode |
1466 | breezy.tests.blackbox.test_commit.TestCommit.test_fixes_bug_with_alternate_trackers |
1467 | breezy.tests.blackbox.test_commit.TestCommit.test_fixes_bug_with_default_tracker |
1468 | breezy.tests.blackbox.test_commit.TestCommit.test_fixes_invalid_argument |
1469 | @@ -1565,6 +1883,7 @@ |
1470 | breezy.tests.blackbox.test_commit.TestCommit.test_no_author |
1471 | breezy.tests.blackbox.test_commit.TestCommit.test_no_bugs_no_properties |
1472 | breezy.tests.blackbox.test_commit.TestCommit.test_non_ascii_file_unversioned_iso_8859_5 |
1473 | +breezy.tests.blackbox.test_commit.TestCommit.test_non_ascii_file_unversioned_utf8 |
1474 | breezy.tests.blackbox.test_commit.TestCommit.test_other_branch_commit |
1475 | breezy.tests.blackbox.test_commit.TestCommit.test_out_of_date_tree_commit |
1476 | breezy.tests.blackbox.test_commit.TestCommit.test_partial_commit_with_renames_in_tree |
1477 | @@ -1708,13 +2027,17 @@ |
1478 | breezy.tests.blackbox.test_export.TestExport.test_export_partial_tree |
1479 | breezy.tests.blackbox.test_export.TestExport.test_export_uncommitted |
1480 | breezy.tests.blackbox.test_export.TestExport.test_export_uncommitted_no_tree |
1481 | +breezy.tests.blackbox.test_export.TestExport.test_tar_export |
1482 | breezy.tests.blackbox.test_export.TestExport.test_tar_export_ignores_bzr |
1483 | breezy.tests.blackbox.test_export.TestExport.test_tar_export_unicode_basedir |
1484 | breezy.tests.blackbox.test_export.TestExport.test_tar_export_unicode_filename |
1485 | +breezy.tests.blackbox.test_export.TestExport.test_tbz2_export |
1486 | +breezy.tests.blackbox.test_export.TestExport.test_tgz_export |
1487 | breezy.tests.blackbox.test_export.TestExport.test_zip_export_directories |
1488 | breezy.tests.blackbox.test_export.TestExport.test_zip_export_file |
1489 | breezy.tests.blackbox.test_export.TestExport.test_zip_export_ignores_bzr |
1490 | breezy.tests.blackbox.test_export.TestExport.test_zip_export_per_file_timestamps |
1491 | +breezy.tests.blackbox.test_export.TestExport.test_zip_export_stdout |
1492 | breezy.tests.blackbox.test_export.TestExport.test_zip_export_unicode |
1493 | breezy.tests.blackbox.test_export.TestSmartServerExport.test_simple_export |
1494 | breezy.tests.blackbox.test_fetch_ghosts.TestFetchGhosts.test_fetch_ghosts |
1495 | @@ -1770,6 +2093,10 @@ |
1496 | breezy.tests.blackbox.test_help.TestHelp.test_help_with_aliases |
1497 | breezy.tests.blackbox.test_help.TestHelp.test_help_working_trees |
1498 | breezy.tests.blackbox.test_help.TestHelp.test_hidden |
1499 | +breezy.tests.blackbox.test_help.TestTranslatedHelp.test_help_command_ascii |
1500 | +breezy.tests.blackbox.test_help.TestTranslatedHelp.test_help_command_utf8 |
1501 | +breezy.tests.blackbox.test_help.TestTranslatedHelp.test_help_switch_ascii |
1502 | +breezy.tests.blackbox.test_help.TestTranslatedHelp.test_help_switch_utf8 |
1503 | breezy.tests.blackbox.test_hooks.TestHooks.test_hooks_lazy_with_named_hook |
1504 | breezy.tests.blackbox.test_hooks.TestHooks.test_hooks_lazy_with_unnamed_hook |
1505 | breezy.tests.blackbox.test_hooks.TestHooks.test_hooks_no_branch |
1506 | @@ -1855,6 +2182,7 @@ |
1507 | breezy.tests.blackbox.test_log.Test_GenerateAllRevisions.test_wrong_order |
1508 | breezy.tests.blackbox.test_log.TestLogEncodings.test_log_handles_bad_encoding |
1509 | breezy.tests.blackbox.test_log.TestLogEncodings.test_log_handles_encoding |
1510 | +breezy.tests.blackbox.test_log.TestLogEncodings.test_stdout_encoding |
1511 | breezy.tests.blackbox.test_log.TestLogErrors.test_log_bad_message_re |
1512 | breezy.tests.blackbox.test_log.TestLogErrors.test_log_change_incompatible_with_revision |
1513 | breezy.tests.blackbox.test_log.TestLogErrors.test_log_change_nonexistent_dotted_revno |
1514 | @@ -1985,6 +2313,7 @@ |
1515 | breezy.tests.blackbox.test_merge.TestMerge.test_merge_criss_cross |
1516 | breezy.tests.blackbox.test_merge.TestMerge.test_merge_defaults_to_reprocess |
1517 | breezy.tests.blackbox.test_merge.TestMerge.test_merge_explicit_reprocess_show_base |
1518 | +breezy.tests.blackbox.test_merge.TestMerge.test_merge_fetches_tags |
1519 | breezy.tests.blackbox.test_merge.TestMerge.test_merge_from_submit |
1520 | breezy.tests.blackbox.test_merge.TestMerge.test_merge_interactive_unlocks_branch |
1521 | breezy.tests.blackbox.test_merge.TestMerge.test_merge_kind_change |
1522 | @@ -2074,12 +2403,16 @@ |
1523 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_branch(iso-8859-2) |
1524 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_branch(utf-8,1) |
1525 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_branch(utf-8,2) |
1526 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_cat(cp1251) |
1527 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_cat(iso-8859-1) |
1528 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_cat(iso-8859-2) |
1529 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_cat_revision(cp1251) |
1530 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_cat_revision(iso-8859-1) |
1531 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_cat_revision(iso-8859-2) |
1532 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_cat_revision(utf-8,1) |
1533 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_cat_revision(utf-8,2) |
1534 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_cat(utf-8,1) |
1535 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_cat(utf-8,2) |
1536 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_deleted(cp1251) |
1537 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_deleted(iso-8859-1) |
1538 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_deleted(iso-8859-2) |
1539 | @@ -2120,16 +2453,36 @@ |
1540 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_inventory(iso-8859-2) |
1541 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_inventory(utf-8,1) |
1542 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_inventory(utf-8,2) |
1543 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_log(cp1251) |
1544 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_log(iso-8859-1) |
1545 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_log(iso-8859-2) |
1546 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_log(utf-8,1) |
1547 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_log(utf-8,2) |
1548 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_ls(cp1251) |
1549 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_ls(iso-8859-1) |
1550 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_ls(iso-8859-2) |
1551 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_ls(utf-8,1) |
1552 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_ls(utf-8,2) |
1553 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_missing(cp1251) |
1554 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_missing(iso-8859-1) |
1555 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_missing(iso-8859-2) |
1556 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_missing(utf-8,1) |
1557 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_missing(utf-8,2) |
1558 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_mkdir(cp1251) |
1559 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_mkdir(iso-8859-1) |
1560 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_mkdir(iso-8859-2) |
1561 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_mkdir(utf-8,1) |
1562 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_mkdir(utf-8,2) |
1563 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_modified(cp1251) |
1564 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_modified(iso-8859-1) |
1565 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_modified(iso-8859-2) |
1566 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_modified(utf-8,1) |
1567 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_modified(utf-8,2) |
1568 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_mv(cp1251) |
1569 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_mv(iso-8859-1) |
1570 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_mv(iso-8859-2) |
1571 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_mv(utf-8,1) |
1572 | +breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_mv(utf-8,2) |
1573 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_pull(cp1251) |
1574 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_pull(iso-8859-1) |
1575 | breezy.tests.blackbox.test_non_ascii.TestNonAscii.test_pull(iso-8859-2) |
1576 | @@ -2523,6 +2876,7 @@ |
1577 | breezy.tests.blackbox.test_send.TestSend.test_uses_submit |
1578 | breezy.tests.blackbox.test_send.TestSmartServerSend.test_send |
1579 | breezy.tests.blackbox.test_serve.TestBzrServe.test_bzr_serve_dhpss |
1580 | +breezy.tests.blackbox.test_serve.TestBzrServe.test_bzr_serve_graceful_shutdown |
1581 | breezy.tests.blackbox.test_serve.TestBzrServe.test_bzr_serve_inet_readonly |
1582 | breezy.tests.blackbox.test_serve.TestBzrServe.test_bzr_serve_inet_readwrite |
1583 | breezy.tests.blackbox.test_serve.TestBzrServe.test_bzr_serve_port_readonly |
1584 | @@ -2561,6 +2915,7 @@ |
1585 | breezy.tests.blackbox.test_shelve.TestShelveRelpath.test_shelve_in_subdir |
1586 | breezy.tests.blackbox.test_shelve.TestShelveRelpath.test_shelve_via_directory |
1587 | breezy.tests.blackbox.test_shelve.TestShelveUnshelve.test_directory |
1588 | +breezy.tests.blackbox.test_shelve.TestUnshelvePreview.test_non_ascii |
1589 | breezy.tests.blackbox.test_sign_my_commits.SignMyCommits.test_sign_diff_committer |
1590 | breezy.tests.blackbox.test_sign_my_commits.SignMyCommits.test_sign_dry_run |
1591 | breezy.tests.blackbox.test_sign_my_commits.SignMyCommits.test_sign_my_commits |
1592 | @@ -2648,9 +3003,11 @@ |
1593 | breezy.tests.blackbox.test_tags.TestSmartServerCat.test_show_tags |
1594 | breezy.tests.blackbox.test_tags.TestTagging.test_automatic_tag_name |
1595 | breezy.tests.blackbox.test_tags.TestTagging.test_branch_push_pull_merge_copies_tags |
1596 | +breezy.tests.blackbox.test_tags.TestTagging.test_cannot_tag_range |
1597 | breezy.tests.blackbox.test_tags.TestTagging.test_commit_in_heavyweight_checkout_copies_tags_to_master |
1598 | breezy.tests.blackbox.test_tags.TestTagging.test_commit_in_heavyweight_checkout_reports_tag_conflict |
1599 | breezy.tests.blackbox.test_tags.TestTagging.test_conflicting_tags |
1600 | +breezy.tests.blackbox.test_tags.TestTagging.test_list_tags |
1601 | breezy.tests.blackbox.test_tags.TestTagging.test_list_tags_dotted_revnos_unsupported |
1602 | breezy.tests.blackbox.test_tags.TestTagging.test_list_tags_revision_filtering |
1603 | breezy.tests.blackbox.test_tags.TestTagging.test_merge_without_commit_does_not_propagate_tags_to_master |
1604 | @@ -2762,6 +3119,7 @@ |
1605 | breezy.tests.blackbox.test_version_info.TestVersionInfo.test_custom_without_template |
1606 | breezy.tests.blackbox.test_version_info.TestVersionInfo.test_invalid_format |
1607 | breezy.tests.blackbox.test_version_info.TestVersionInfo.test_no_branch |
1608 | +breezy.tests.blackbox.test_version_info.TestVersionInfo.test_non_ascii |
1609 | breezy.tests.blackbox.test_version_info.TestVersionInfo.test_no_working_tree |
1610 | breezy.tests.blackbox.test_version_info.TestVersionInfo.test_python |
1611 | breezy.tests.blackbox.test_version_info.TestVersionInfo.test_revision |
1612 | @@ -2772,11 +3130,15 @@ |
1613 | breezy.tests.blackbox.test_versioning.TestMkdir.test_mkdir_in_subdir |
1614 | breezy.tests.blackbox.test_versioning.TestMkdir.test_mkdir_quiet |
1615 | breezy.tests.blackbox.test_versioning.TestMkdir.test_mkdir_w_nested_trees |
1616 | +breezy.tests.blackbox.test_version.TestVersionBzrLogLocation.test_dev_null |
1617 | +breezy.tests.blackbox.test_version.TestVersionBzrLogLocation.test_simple |
1618 | +breezy.tests.blackbox.test_version.TestVersionBzrLogLocation.test_unicode_brz_log |
1619 | breezy.tests.blackbox.test_version.TestVersion.test_main_version |
1620 | breezy.tests.blackbox.test_version.TestVersion.test_version |
1621 | breezy.tests.blackbox.test_version.TestVersion.test_version_short |
1622 | breezy.tests.blackbox.test_version.TestVersionUnicodeOutput.test_command |
1623 | breezy.tests.blackbox.test_version.TestVersionUnicodeOutput.test_flag |
1624 | +breezy.tests.blackbox.test_version.TestVersionUnicodeOutput.test_unicode_bzr_home |
1625 | breezy.tests.blackbox.test_view.TestViewUI.test_define_view |
1626 | breezy.tests.blackbox.test_view.TestViewUI.test_delete_view |
1627 | breezy.tests.blackbox.test_view.TestViewUI.test_list_view |
1628 | @@ -9130,16 +9492,16 @@ |
1629 | breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_ordered_no_closure(RemoteRepositoryFormat-v2) |
1630 | breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_ordered_no_closure(RepositoryFormat2a) |
1631 | breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_ordered_no_closure(RepositoryFormat2aSubtree) |
1632 | -breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_unordered_fetch_complex_split(RemoteRepositoryFormat-default) |
1633 | -breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_unordered_fetch_complex_split(RemoteRepositoryFormat-v2) |
1634 | -breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_unordered_fetch_complex_split(RepositoryFormat2a) |
1635 | -breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_unordered_fetch_complex_split(RepositoryFormat2aSubtree) |
1636 | breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_ordered_no_closure(RepositoryFormatKnitPack5) |
1637 | breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_ordered_no_closure(RepositoryFormatKnitPack5RichRoot) |
1638 | breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_ordered_no_closure(RepositoryFormatKnitPack5RichRootBroken) |
1639 | breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_ordered_no_closure(RepositoryFormatKnitPack6) |
1640 | breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_ordered_no_closure(RepositoryFormatKnitPack6RichRoot) |
1641 | breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_ordered_no_closure(RepositoryFormatPackDevelopment2Subtree) |
1642 | +breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_unordered_fetch_complex_split(RemoteRepositoryFormat-default) |
1643 | +breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_unordered_fetch_complex_split(RemoteRepositoryFormat-v2) |
1644 | +breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_unordered_fetch_complex_split(RepositoryFormat2a) |
1645 | +breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_unordered_fetch_complex_split(RepositoryFormat2aSubtree) |
1646 | breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_unordered_fetch_complex_split(RepositoryFormatKnitPack5) |
1647 | breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_unordered_fetch_complex_split(RepositoryFormatKnitPack5RichRoot) |
1648 | breezy.tests.per_repository_reference.test_get_record_stream.TestGetRecordStream.test_unordered_fetch_complex_split(RepositoryFormatKnitPack5RichRootBroken) |
1649 | @@ -19344,10 +19706,16 @@ |
1650 | breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_merge(WorkingTreeFormat2) |
1651 | breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_merge(WorkingTreeFormat3) |
1652 | breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_merge(WorkingTreeFormat4) |
1653 | +breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_merge(WorkingTreeFormat5) |
1654 | +breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_merge(WorkingTreeFormat6) |
1655 | +breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_merge(WorkingTreeFormat6,remote) |
1656 | breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_pull(GitWorkingTreeFormat) |
1657 | breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_pull(WorkingTreeFormat2) |
1658 | breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_pull(WorkingTreeFormat3) |
1659 | breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_pull(WorkingTreeFormat4) |
1660 | +breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_pull(WorkingTreeFormat5) |
1661 | +breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_pull(WorkingTreeFormat6) |
1662 | +breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_pull(WorkingTreeFormat6,remote) |
1663 | breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_revert_delete(GitWorkingTreeFormat) |
1664 | breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_revert_delete(WorkingTreeFormat2) |
1665 | breezy.tests.per_workingtree.test_content_filters.TestWorkingTreeWithContentFilters.test_content_filtering_applied_on_revert_delete(WorkingTreeFormat3) |
1666 | @@ -23729,6 +24097,10 @@ |
1667 | breezy.tests.test_conflicts.TestResolveMissingParent.test_kill_them_all |
1668 | breezy.tests.test_conflicts.TestResolveMissingParent.test_resolve_taking_other |
1669 | breezy.tests.test_conflicts.TestResolveMissingParent.test_resolve_taking_this |
1670 | +breezy.tests.test_conflicts.TestResolveNonDirectoryParent.test_resolve_taking_other |
1671 | +breezy.tests.test_conflicts.TestResolveNonDirectoryParent.test_resolve_taking_this |
1672 | +breezy.tests.test_conflicts.TestResolveNonDirectoryParent.test_take_other |
1673 | +breezy.tests.test_conflicts.TestResolveNonDirectoryParent.test_take_this |
1674 | breezy.tests.test_conflicts.TestResolveParentLoop.test_resolve_taking_other(dir1_into_dir2,dir2_into_dir1) |
1675 | breezy.tests.test_conflicts.TestResolveParentLoop.test_resolve_taking_other(dir2_into_dir1,dir1_into_dir2) |
1676 | breezy.tests.test_conflicts.TestResolveParentLoop.test_resolve_taking_this(dir1_into_dir2,dir2_into_dir1) |
1677 | @@ -24151,6 +24523,8 @@ |
1678 | breezy.tests.test_email_message.TestEmailMessage.test_multiple_destinations |
1679 | breezy.tests.test_email_message.TestEmailMessage.test_retrieving_headers |
1680 | breezy.tests.test_email_message.TestEmailMessage.test_setting_headers |
1681 | +breezy.tests.test_email_message.TestEmailMessage.test_simple_message |
1682 | +breezy.tests.test_email_message.TestEmailMessage.test_string_with_encoding |
1683 | breezy.tests.test_email_message.TestSend.test_send_patch |
1684 | breezy.tests.test_email_message.TestSend.test_send_plain |
1685 | breezy.tests.test_email_message.TestSend.test_send_simple |
1686 | @@ -24160,6 +24534,7 @@ |
1687 | breezy.tests.test_eol_filters.TestEolRulesSpecifications.test_exact_value |
1688 | breezy.tests.test_eol_filters.TestEolRulesSpecifications.test_other_known_values |
1689 | breezy.tests.test_eol_filters.TestEolRulesSpecifications.test_unknown_value |
1690 | +breezy.tests.test_errors.TestErrorFormatting.test_always_str |
1691 | breezy.tests.test_errors.TestErrorFormatting.test_cannot_bind_address |
1692 | breezy.tests.test_errors.TestErrorFormatting.test_mismatched_format_args |
1693 | breezy.tests.test_errors.TestErrorFormatting.test_missing_format_string |
1694 | @@ -25107,6 +25482,7 @@ |
1695 | breezy.tests.test_import_tariff.TestImportTariffs.test_help_commands |
1696 | breezy.tests.test_import_tariff.TestImportTariffs.test_import_tariffs_working |
1697 | breezy.tests.test_import_tariff.TestImportTariffs.test_simple_local |
1698 | +breezy.tests.test_import_tariff.TestImportTariffs.test_simple_serve |
1699 | breezy.tests.test_index.ErrorTests.test_bad_index_data |
1700 | breezy.tests.test_index.ErrorTests.test_bad_index_duplicate_key |
1701 | breezy.tests.test_index.ErrorTests.test_bad_index_format_signature |
1702 | @@ -27009,6 +27385,7 @@ |
1703 | breezy.tests.test_nonascii.NonAsciiTest.test_add_in_nonascii_branch |
1704 | breezy.tests.test_nonascii.NormalizedFilename.test__accessible_normalized_filename |
1705 | breezy.tests.test_nonascii.NormalizedFilename.test_access_non_normalized |
1706 | +breezy.tests.test_nonascii.NormalizedFilename.test_access_normalized |
1707 | breezy.tests.test_nonascii.NormalizedFilename.test_functions |
1708 | breezy.tests.test_nonascii.NormalizedFilename.test__inaccessible_normalized_filename |
1709 | breezy.tests.test_nonascii.NormalizedFilename.test_platform |
1710 | @@ -27106,8 +27483,10 @@ |
1711 | breezy.tests.test_osutils.TestGetHomeDir.test_is_unicode |
1712 | breezy.tests.test_osutils.TestGetHomeDir.test_posix_home_ascii |
1713 | breezy.tests.test_osutils.TestGetHomeDir.test_posix_homeless |
1714 | +breezy.tests.test_osutils.TestGetHomeDir.test_posix_home_unicode |
1715 | breezy.tests.test_osutils.TestGetuserUnicode.test_ascii_user |
1716 | breezy.tests.test_osutils.TestGetuserUnicode.test_is_unicode |
1717 | +breezy.tests.test_osutils.TestGetuserUnicode.test_unicode_user |
1718 | breezy.tests.test_osutils.TestIsInside.test_is_inside |
1719 | breezy.tests.test_osutils.TestIsInside.test_is_inside_any |
1720 | breezy.tests.test_osutils.TestIsInside.test_is_inside_or_parent_of_any |
1721 | @@ -27122,6 +27501,7 @@ |
1722 | breezy.tests.test_osutils.TestParentDirectories.test_parent_directories |
1723 | breezy.tests.test_osutils.TestPathFromEnviron.test_is_unicode |
1724 | breezy.tests.test_osutils.TestPathFromEnviron.test_posix_path_env_ascii |
1725 | +breezy.tests.test_osutils.TestPathFromEnviron.test_posix_path_env_unicode |
1726 | breezy.tests.test_osutils.TestPosixFuncs.test_normpath |
1727 | breezy.tests.test_osutils.TestPumpFile.test_bracket_block_size |
1728 | breezy.tests.test_osutils.TestPumpFile.test_defaults |
1729 | @@ -27171,6 +27551,7 @@ |
1730 | breezy.tests.test_osutils.TestSendAll.test_send_with_no_progress |
1731 | breezy.tests.test_osutils.TestSetUnsetEnv.test_double_set |
1732 | breezy.tests.test_osutils.TestSetUnsetEnv.test_set |
1733 | +breezy.tests.test_osutils.TestSetUnsetEnv.test_unicode |
1734 | breezy.tests.test_osutils.TestSetUnsetEnv.test_unset |
1735 | breezy.tests.test_osutils.TestShaFileByName.test_sha_empty |
1736 | breezy.tests.test_osutils.TestShaFileByName.test_sha_mixed_endings |
1737 | @@ -27186,6 +27567,7 @@ |
1738 | breezy.tests.test_osutils.TestTerminalWidth.test_no_TIOCGWINSZ |
1739 | breezy.tests.test_osutils.TestTerminalWidth.test_tty_default_without_columns |
1740 | breezy.tests.test_osutils.TestUmask.test_get_umask |
1741 | +breezy.tests.test_osutils.TestWalkDirs.test_compare_paths_prefix_order |
1742 | breezy.tests.test_osutils.TestWalkDirs.test_force_walkdirs_utf8_fs_ascii |
1743 | breezy.tests.test_osutils.TestWalkDirs.test_force_walkdirs_utf8_fs_latin1 |
1744 | breezy.tests.test_osutils.TestWalkDirs.test_force_walkdirs_utf8_fs_utf8 |
1745 | @@ -27194,7 +27576,9 @@ |
1746 | breezy.tests.test_osutils.TestWalkDirs.test_unicode_walkdirs |
1747 | breezy.tests.test_osutils.TestWalkDirs.test_unicode__walkdirs_utf8 |
1748 | breezy.tests.test_osutils.TestWalkDirs.test_walkdirs |
1749 | +breezy.tests.test_osutils.TestWalkDirs.test_walkdirs_encoding_error |
1750 | breezy.tests.test_osutils.TestWalkDirs.test_walkdirs_os_error |
1751 | +breezy.tests.test_osutils.TestWalkDirs.test__walkdirs_utf8 |
1752 | breezy.tests.test_osutils.TestWalkDirs.test__walkdirs_utf8_win32readdir |
1753 | breezy.tests.test_osutils.TestWalkDirs.test__walkdirs_utf8_with_unicode_fs |
1754 | breezy.tests.test_osutils.TestWalkDirs.test__walkdirs_utf_win32_find_file_stat_directory |
1755 | @@ -27758,6 +28142,7 @@ |
1756 | breezy.tests.test_remote.TestUpdateBoundBranchWithModifiedBoundLocation.test_plus_sign |
1757 | breezy.tests.test_remote.TestUpdateBoundBranchWithModifiedBoundLocation.test_tilda |
1758 | breezy.tests.test_remote.TestUpdateBoundBranchWithModifiedBoundLocation.test_without_final_slash |
1759 | +breezy.tests.test_remote.TestVfsHas.test_unicode_path |
1760 | breezy.tests.test_remote.TestWithCustomErrorHandler.test_no_context |
1761 | breezy.tests.test_remote.TestWithCustomErrorHandler.test_with_context |
1762 | breezy.tests.test_rename_map.TestRenameMap.test_add_edge_hashes |