/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 bzrlib/tests/blackbox/test_version.py

  • Committer: Marius Kruger
  • Date: 2010-07-10 21:28:56 UTC
  • mto: (5384.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 5385.
  • Revision ID: marius.kruger@enerweb.co.za-20100710212856-uq4ji3go0u5se7hx
* Update documentation
* add NEWS

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2007-2012, 2016 Canonical Ltd
 
1
# Copyright (C) 2007, 2008 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
 
"""Black-box tests for brz version."""
 
17
"""Black-box tests for bzr version."""
18
18
 
19
19
import os
20
20
import sys
21
21
 
22
 
import breezy
23
 
from breezy import osutils, trace
24
 
from breezy.sixish import PY3
25
 
from breezy.tests import (
 
22
import bzrlib
 
23
from bzrlib import osutils, trace
 
24
from bzrlib.tests import (
26
25
    probe_unicode_in_user_encoding,
27
26
    TestCase,
28
27
    TestCaseInTempDir,
38
37
        # can see the version being tested
39
38
        self.permit_source_tree_branch_repo()
40
39
        output = self.run_bzr('version')[0]
41
 
        self.log('brz version output:')
 
40
        self.log('bzr version output:')
42
41
        self.log(output)
43
 
        self.assertTrue(output.startswith('Breezy (brz) '))
 
42
        self.assert_(output.startswith('Bazaar (bzr) '))
44
43
        self.assertNotEqual(output.index('Canonical'), -1)
45
44
        # make sure --version is consistent
46
45
        tmp_output = self.run_bzr('--version')[0]
47
 
        self.assertEqual(output, tmp_output)
 
46
        self.assertEquals(output, tmp_output)
48
47
 
49
48
    def test_version(self):
50
49
        self.permit_source_tree_branch_repo()
51
50
        out = self.run_bzr("version")[0]
52
51
        self.assertTrue(len(out) > 0)
53
52
        self.assertEqualDiff(out.splitlines()[0],
54
 
                             "Breezy (brz) %s" % breezy.__version__)
 
53
            "Bazaar (bzr) %s" % bzrlib.__version__)
55
54
        self.assertContainsRe(out, r"(?m)^  Python interpreter:")
56
55
        self.assertContainsRe(out, r"(?m)^  Python standard library:")
57
 
        self.assertContainsRe(out, r"(?m)^  breezy:")
58
 
        self.assertContainsRe(out, r"(?m)^  Breezy configuration:")
59
 
        self.assertContainsRe(out, r'(?m)^  Breezy log file:.*[\\/]breezy[\\/]brz\.log')
 
56
        self.assertContainsRe(out, r"(?m)^  bzrlib:")
 
57
        self.assertContainsRe(out, r"(?m)^  Bazaar configuration:")
 
58
        self.assertContainsRe(out, r'(?m)^  Bazaar log file:.*\.bzr\.log')
60
59
 
61
60
    def test_version_short(self):
62
61
        self.permit_source_tree_branch_repo()
63
62
        out = self.run_bzr(["version", "--short"])[0]
64
 
        self.assertEqualDiff(out, breezy.version_string + '\n')
 
63
        self.assertEqualDiff(out, bzrlib.version_string + '\n')
65
64
 
66
65
 
67
66
class TestVersionUnicodeOutput(TestCaseInTempDir):
68
67
 
69
68
    def _check(self, args):
70
69
        self.permit_source_tree_branch_repo()
71
 
        # Even though trace._brz_log_filename variable
 
70
        # Even though trace._bzr_log_filename variable
72
71
        # is used only to keep actual log filename
73
72
        # and changing this variable in selftest
74
 
        # don't change main brz.log location,
 
73
        # don't change main .bzr.log location,
75
74
        # and therefore pretty safe,
76
75
        # but we run these tests in separate temp dir
77
76
        # with relative unicoded path
78
 
        old_trace_file = trace._brz_log_filename
79
 
        trace._brz_log_filename = u'\u1234/.brz.log'
 
77
        old_trace_file = trace._bzr_log_filename
 
78
        trace._bzr_log_filename = u'\u1234/.bzr.log'
80
79
        try:
81
80
            out = self.run_bzr(args)[0]
82
81
        finally:
83
 
            trace._brz_log_filename = old_trace_file
 
82
            trace._bzr_log_filename = old_trace_file
84
83
        self.assertTrue(len(out) > 0)
85
 
        self.assertContainsRe(out, r'(?m)^  Breezy log file:.*brz\.log')
 
84
        self.assertContainsRe(out, r'(?m)^  Bazaar log file:.*bzr\.log')
86
85
 
87
86
    def test_command(self):
88
87
        self._check("version")
96
95
            raise TestSkipped('Cannot find a unicode character that works in'
97
96
                              ' encoding %s' % (osutils.get_user_encoding(),))
98
97
 
99
 
        if PY3:
100
 
            self.overrideEnv('BRZ_HOME', uni_val)
101
 
        else:
102
 
            self.overrideEnv('BRZ_HOME', str_val)
 
98
        osutils.set_or_unset_env('BZR_HOME', str_val)
103
99
        self.permit_source_tree_branch_repo()
104
 
        out = self.run_bzr_raw("version")[0]
 
100
        out = self.run_bzr("version")[0]
105
101
        self.assertTrue(len(out) > 0)
106
 
        self.assertContainsRe(out, br"(?m)^  Breezy configuration: " + str_val)
 
102
        self.assertContainsRe(out, r"(?m)^  Bazaar configuration: " + str_val)
107
103
 
108
104
 
109
105
class TestVersionBzrLogLocation(TestCaseInTempDir):
110
106
 
111
 
    def default_log(self):
112
 
        return os.path.join(os.environ['BRZ_HOME'], 'breezy', 'brz.log')
113
 
 
114
107
    def test_simple(self):
115
 
        brz_log = 'my.brz.log'
116
 
        self.overrideEnv('BRZ_LOG', brz_log)
117
 
        self.assertPathDoesNotExist([self.default_log(), brz_log])
 
108
        bzr_log = 'my.bzr.log'
 
109
        osutils.set_or_unset_env('BZR_LOG', bzr_log)
 
110
        default_log = os.path.join(os.environ['BZR_HOME'], '.bzr.log')
 
111
        self.failIfExists([default_log, bzr_log])
118
112
        out = self.run_bzr_subprocess('version')[0]
119
113
        self.assertTrue(len(out) > 0)
120
 
        self.assertContainsRe(
121
 
            out, br"(?m)^  Breezy log file: " + brz_log.encode('ascii'))
122
 
        self.assertPathExists(brz_log)
123
 
        self.assertPathDoesNotExist(self.default_log())
 
114
        self.assertContainsRe(out, r"(?m)^  Bazaar log file: " + bzr_log)
 
115
        self.failIfExists(default_log)
 
116
        self.failUnlessExists(bzr_log)
124
117
 
125
118
    def test_dev_null(self):
126
119
        # This test uses a subprocess to cause the log opening logic to
127
120
        # execute. It would be better to just execute that logic directly.
128
121
        if sys.platform == 'win32':
129
 
            brz_log = 'NUL'
 
122
            bzr_log = 'NUL'
130
123
        else:
131
 
            brz_log = '/dev/null'
132
 
        self.overrideEnv('BRZ_LOG', brz_log)
133
 
        self.assertPathDoesNotExist(self.default_log())
 
124
            bzr_log = '/dev/null'
 
125
        osutils.set_or_unset_env('BZR_LOG', bzr_log)
 
126
        default_log = os.path.join(os.environ['BZR_HOME'], '.bzr.log')
 
127
        self.failIfExists(default_log)
134
128
        out = self.run_bzr_subprocess('version')[0]
135
129
        self.assertTrue(len(out) > 0)
136
 
        self.assertContainsRe(
137
 
            out, br"(?m)^  Breezy log file: " + brz_log.encode('ascii'))
138
 
        self.assertPathDoesNotExist(self.default_log())
139
 
 
140
 
    def test_unicode_brz_log(self):
141
 
        uni_val = u"\xa7"
142
 
        enc = osutils.get_user_encoding()
143
 
        try:
144
 
            str_val = uni_val.encode(enc)
145
 
        except UnicodeEncodeError:
146
 
            self.skipTest(
147
 
                "Test string %r unrepresentable in user encoding %s" % (
148
 
                    uni_val, enc))
149
 
        brz_log = os.path.join(self.test_base_dir, uni_val)
150
 
        if PY3:
151
 
            self.overrideEnv("BRZ_LOG", brz_log)
152
 
        else:
153
 
            self.overrideEnv("BRZ_LOG", brz_log.encode(enc))
154
 
        out, err = self.run_bzr_subprocess("version")
155
 
        uni_out = out.decode(enc)
156
 
        self.assertContainsRe(uni_out, u"(?m)^  Breezy log file: .*/\xa7$")
 
130
        self.assertContainsRe(out, r"(?m)^  Bazaar log file: " + bzr_log)
 
131
        self.failIfExists(default_log)