/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/tests/test_trace.py

Support user.signingkey configuration variable in .git/config.

Merged from https://code.launchpad.net/~jelmer/brz/local-git-key/+merge/381000

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
"""Tests for trace library"""
20
20
 
21
21
import errno
22
 
from io import StringIO
23
22
import logging
24
23
import os
25
24
import re
31
30
    errors,
32
31
    trace,
33
32
    )
 
33
from ..sixish import (
 
34
    PY3,
 
35
    StringIO,
 
36
    )
34
37
from . import features, TestCaseInTempDir, TestCase, TestSkipped
35
38
from ..trace import (
36
39
    mutter, mutter_callsite, report_exception,
143
146
            raise errors.BzrCommandError(u'argument foo\xb5 does not exist')
144
147
        except errors.BzrCommandError:
145
148
            msg = _format_exception()
146
 
        expected = 'brz: ERROR: argument foo\xb5 does not exist\n'
 
149
        if PY3:
 
150
            expected = 'brz: ERROR: argument foo\xb5 does not exist\n'
 
151
        else:
 
152
            # GZ 2017-06-10: Pretty bogus, should encode per the output stream
 
153
            expected = 'brz: ERROR: argument foo\xc2\xb5 does not exist\n'
147
154
        self.assertEqual(msg, expected)
148
155
 
149
156
    def test_format_exception(self):
403
410
 
404
411
    def test_log_utf8_arg(self):
405
412
        logging.getLogger("brz").debug(b"%s", b"\xc2\xa7")
406
 
        expected = u"   DEBUG  b'\\xc2\\xa7'\n"
 
413
        if PY3:
 
414
            expected = u"   DEBUG  b'\\xc2\\xa7'\n"
 
415
        else:
 
416
            expected = u"   DEBUG  \xa7\n"
407
417
        self.assertEqual(expected, self.get_log())
408
418
 
409
419
    def test_log_bytes_msg(self):
416
426
    def test_log_bytes_arg(self):
417
427
        logging.getLogger("brz").debug(b"%s", b"\xa7")
418
428
        log = self.get_log()
419
 
        self.assertEqual(u"   DEBUG  b'\\xa7'\n", self.get_log())
 
429
        if PY3:
 
430
            self.assertEqual(u"   DEBUG  b'\\xa7'\n", self.get_log())
 
431
        else:
 
432
            self.assertContainsString(log, "UnicodeDecodeError: ")
 
433
            self.assertContainsRe(
 
434
                log,
 
435
                "Logging record unformattable: ?'%s' % \\(b?'\\\\xa7',\\)\n")
420
436
 
421
437
    def test_log_mixed_strings(self):
422
438
        logging.getLogger("brz").debug(u"%s", b"\xa7")
423
439
        log = self.get_log()
424
 
        self.assertEqual(u"   DEBUG  b'\\xa7'\n", self.get_log())
 
440
        if PY3:
 
441
            self.assertEqual(u"   DEBUG  b'\\xa7'\n", self.get_log())
 
442
        else:
 
443
            self.assertContainsString(log, "UnicodeDecodeError: ")
 
444
            self.assertContainsRe(
 
445
                log,
 
446
                "Logging record unformattable: u'%s' % \\('\\\\xa7',\\)\n")
425
447
 
426
448
    def test_log_repr_broken(self):
427
449
        class BadRepr(object):