/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/blackbox/test_exceptions.py

  • Committer: Jelmer Vernooij
  • Date: 2020-03-22 01:35:14 UTC
  • mfrom: (7490.7.6 work)
  • mto: This revision was merged to the branch mainline in revision 7499.
  • Revision ID: jelmer@jelmer.uk-20200322013514-7vw1ntwho04rcuj3
merge lp:brz/3.1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
        # we must use a subprocess, because the normal in-memory mechanism
38
38
        # allows errors to propagate up through the test suite
39
39
        out, err = self.run_bzr_subprocess(['assert-fail'],
40
 
            universal_newlines=True,
41
 
            retcode=errors.EXIT_INTERNAL_ERROR)
 
40
                                           universal_newlines=True,
 
41
                                           retcode=errors.EXIT_INTERNAL_ERROR)
42
42
        self.assertEqual(4, errors.EXIT_INTERNAL_ERROR)
43
 
        self.assertContainsRe(err, r'\nAssertionError: always fails\n')
44
 
        self.assertContainsRe(err, r'Bazaar has encountered an internal error')
45
 
 
46
 
    def test_undecodable_argv(self):
47
 
        """A user error must be reported if argv is not in the locale encoding
48
 
 
49
 
        A subprocess with an environment ascii-only setting is used so the test
50
 
        can run without worrying about the locale the test suite is using.
51
 
        """
52
 
        if os.name != "posix":
53
 
            raise tests.TestNotApplicable("Needs system beholden to C locales")
54
 
        out, err = self.run_bzr_subprocess(["\xa0"],
55
 
            env_changes={"LANG": "C", "LC_ALL": "C"},
56
 
            universal_newlines=True,
57
 
            retcode=errors.EXIT_ERROR)
58
 
        self.assertContainsRe(err, r"^brz: ERROR: .*'\\xa0'.* unsupported",
59
 
            flags=re.MULTILINE)
60
 
        self.assertEqual(out, "")
 
43
        self.assertContainsRe(err, br'\nAssertionError: always fails\n')
 
44
        self.assertContainsRe(
 
45
            err, br'Bazaar has encountered an internal error')
61
46
 
62
47
    def test_utf8_default_fs_enc(self):
63
48
        """In the C locale brz treats a posix filesystem as UTF-8 encoded"""
64
49
        if os.name != "posix":
65
50
            raise tests.TestNotApplicable("Needs system beholden to C locales")
66
51
        out, err = self.run_bzr_subprocess(["init", "file:%C2%A7"],
67
 
            env_changes={"LANG": "C", "LC_ALL": "C"})
68
 
        self.assertContainsRe(out, "^Created a standalone tree .*$")
 
52
                                           env_changes={"LANG": "C", "LC_ALL": "C"})
 
53
        self.assertContainsRe(out, b"^Created a standalone tree .*$")
69
54
 
70
55
 
71
56
class TestOptParseBugHandling(tests.TestCase):
72
57
    "Test that we handle http://bugs.python.org/issue2931"
73
58
 
74
59
    def test_nonascii_optparse(self):
75
 
        """Reasonable error raised when non-ascii in option name"""
76
 
        error_re = 'Only ASCII permitted in option names'
 
60
        """Reasonable error raised when non-ascii in option name on Python 2"""
 
61
        error_re = u'no such option: -\xe4'
77
62
        out = self.run_bzr_error([error_re], ['st', u'-\xe4'])
78
63
 
79
64
 
81
66
 
82
67
    @classmethod
83
68
    def get_format_string(cls):
84
 
        return "Test Obsolete Repository Format"
 
69
        return b"Test Obsolete Repository Format"
85
70
 
86
71
    def is_deprecated(self):
87
72
        return True
99
84
    def setUp(self):
100
85
        super(TestDeprecationWarning, self).setUp()
101
86
        self.addCleanup(repository.format_registry.remove,
102
 
            TestObsoleteRepoFormat)
 
87
                        TestObsoleteRepoFormat)
103
88
        repository.format_registry.register(TestObsoleteRepoFormat)
104
89
        self.addCleanup(controldir.format_registry.remove, "testobsolete")
105
90
        bzr.register_metadir(controldir.format_registry, "testobsolete",
106
 
            "breezy.tests.blackbox.test_exceptions.TestObsoleteRepoFormat",
107
 
            branch_format='breezy.bzr.branch.BzrBranchFormat7',
108
 
            tree_format='breezy.bzr.workingtree_4.WorkingTreeFormat6',
109
 
            deprecated=True,
110
 
            help='Same as 2a, but with an obsolete repo format.')
 
91
                             "breezy.tests.blackbox.test_exceptions.TestObsoleteRepoFormat",
 
92
                             branch_format='breezy.bzr.branch.BzrBranchFormat7',
 
93
                             tree_format='breezy.bzr.workingtree_4.WorkingTreeFormat6',
 
94
                             deprecated=True,
 
95
                             help='Same as 2a, but with an obsolete repo format.')
111
96
        self.disable_deprecation_warning()
112
97
 
113
98
    def enable_deprecation_warning(self, repo=None):