2347.1.1
by John Arbash Meinel
(John Whitley) Print out the location of ~/.bazaar as part of 'bzr --version' |
1 |
# Copyright (C) 2007 Canonical Ltd
|
2 |
#
|
|
3 |
# This program is free software; you can redistribute it and/or modify
|
|
4 |
# it under the terms of the GNU General Public License as published by
|
|
5 |
# the Free Software Foundation; either version 2 of the License, or
|
|
6 |
# (at your option) any later version.
|
|
7 |
#
|
|
8 |
# This program is distributed in the hope that it will be useful,
|
|
9 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11 |
# GNU General Public License for more details.
|
|
12 |
#
|
|
13 |
# You should have received a copy of the GNU General Public License
|
|
14 |
# along with this program; if not, write to the Free Software
|
|
15 |
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
16 |
||
2324.3.2
by John Whitley
Added blackbox test for bzr version. |
17 |
"""Black-box tests for bzr version."""
|
18 |
||
19 |
import bzrlib |
|
2785.1.5
by Alexander Belchenko
support for non-ascii BZR_HOME in show_version() |
20 |
from bzrlib import osutils, trace |
21 |
from bzrlib.tests import ( |
|
22 |
probe_unicode_in_user_encoding, |
|
23 |
TestCase, |
|
24 |
TestCaseInTempDir, |
|
25 |
TestSkipped, |
|
26 |
)
|
|
2785.1.1
by bialix at ukr
test cases for #131100 |
27 |
|
28 |
||
29 |
class TestVersion(TestCase): |
|
2347.1.1
by John Arbash Meinel
(John Whitley) Print out the location of ~/.bazaar as part of 'bzr --version' |
30 |
|
2324.3.2
by John Whitley
Added blackbox test for bzr version. |
31 |
def test_version(self): |
32 |
out = self.run_bzr("version")[0] |
|
33 |
self.assertTrue(len(out) > 0) |
|
2347.1.1
by John Arbash Meinel
(John Whitley) Print out the location of ~/.bazaar as part of 'bzr --version' |
34 |
self.assertEquals(1, out.count(bzrlib.__version__)) |
2606.1.3
by Martin Pool
Update tests for new version display |
35 |
self.assertContainsRe(out, r"(?m)^ Python interpreter:") |
36 |
self.assertContainsRe(out, r"(?m)^ Python standard library:") |
|
37 |
self.assertContainsRe(out, r"(?m)^ bzrlib:") |
|
38 |
self.assertContainsRe(out, r"(?m)^ Bazaar configuration:") |
|
39 |
self.assertContainsRe(out, r'(?m)^ Bazaar log file:.*bzr\.log') |
|
2785.1.1
by bialix at ukr
test cases for #131100 |
40 |
|
41 |
||
2785.1.5
by Alexander Belchenko
support for non-ascii BZR_HOME in show_version() |
42 |
class TestVersionUnicodeOutput(TestCaseInTempDir): |
2785.1.1
by bialix at ukr
test cases for #131100 |
43 |
|
44 |
def _check(self, args): |
|
2785.1.5
by Alexander Belchenko
support for non-ascii BZR_HOME in show_version() |
45 |
# Even though trace._bzr_log_filename variable
|
46 |
# is used only to keep actual log filename
|
|
47 |
# and changing this variable in selftest
|
|
48 |
# don't change main .bzr.log location,
|
|
49 |
# and therefore pretty safe,
|
|
50 |
# but we run these tests in separate temp dir
|
|
51 |
# with relative unicoded path
|
|
2785.1.1
by bialix at ukr
test cases for #131100 |
52 |
old_trace_file = trace._bzr_log_filename |
2785.1.5
by Alexander Belchenko
support for non-ascii BZR_HOME in show_version() |
53 |
trace._bzr_log_filename = u'\u1234/.bzr.log' |
2785.1.1
by bialix at ukr
test cases for #131100 |
54 |
try: |
55 |
out = self.run_bzr(args)[0] |
|
56 |
finally: |
|
57 |
trace._bzr_log_filename = old_trace_file |
|
58 |
self.assertTrue(len(out) > 0) |
|
59 |
self.assertContainsRe(out, r'(?m)^ Bazaar log file:.*bzr\.log') |
|
60 |
||
61 |
def test_command(self): |
|
62 |
self._check("version") |
|
63 |
||
64 |
def test_flag(self): |
|
65 |
self._check("--version") |
|
2785.1.5
by Alexander Belchenko
support for non-ascii BZR_HOME in show_version() |
66 |
|
67 |
def test_unicode_bzr_home(self): |
|
68 |
uni_val, str_val = probe_unicode_in_user_encoding() |
|
69 |
if uni_val is None: |
|
70 |
raise TestSkipped('Cannot find a unicode character that works in' |
|
71 |
' encoding %s' % (bzrlib.user_encoding,)) |
|
72 |
||
73 |
osutils.set_or_unset_env('BZR_HOME', str_val) |
|
74 |
out = self.run_bzr("version")[0] |
|
75 |
self.assertTrue(len(out) > 0) |
|
76 |
self.assertContainsRe(out, r"(?m)^ Bazaar configuration: " + str_val) |