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
17
"""Tests for versioning of bzrlib."""
17
"""Tests for versioning of breezy."""
19
from cStringIO import StringIO
23
from bzrlib import version, workingtree
24
from bzrlib.tests import TestCase, TestSkipped
26
class TestBzrlibVersioning(TestCase):
28
def test_get_bzr_source_tree(self):
27
from ..sixish import (
30
from .scenarios import load_tests_apply_scenarios
33
load_tests = load_tests_apply_scenarios
36
class TestBzrlibVersioning(tests.TestCase):
38
def test_get_brz_source_tree(self):
29
39
"""Get tree for bzr source, if any."""
30
40
self.permit_source_tree_branch_repo()
31
41
# We don't know if these tests are being run from a checkout or branch
32
42
# of bzr, from an installed copy, or from source unpacked from a
33
43
# tarball. We don't construct a branch just for testing this, so we
34
44
# just assert that it must either return None or the tree.
35
src_tree = version._get_bzr_source_tree()
45
src_tree = version._get_brz_source_tree()
36
46
if src_tree is None:
37
raise TestSkipped("bzr tests aren't run from a bzr working tree")
47
raise tests.TestSkipped(
48
"bzr tests aren't run from a bzr working tree")
39
50
# ensure that what we got was in fact a working tree instance.
40
51
self.assertIsInstance(src_tree, workingtree.WorkingTree)
42
53
def test_python_binary_path(self):
43
54
self.permit_source_tree_branch_repo()
45
56
version.show_version(show_config=False, show_copyright=False,
47
58
out = sio.getvalue()
48
59
m = re.search(r"Python interpreter: (.*) [0-9]", out)
49
60
self.assertIsNot(m, None)
50
self.failUnlessExists(m.group(1))
61
self.assertPathExists(m.group(1))
63
class TestPlatformUse(tests.TestCase):
65
scenarios = [('ascii', dict(_platform='test-platform')),
66
('unicode', dict(_platform='Schr\xc3\xb6dinger'))]
69
super(TestPlatformUse, self).setUp()
70
self.permit_source_tree_branch_repo()
72
def test_platform(self):
73
out = self.make_utf8_encoded_stringio()
74
self.overrideAttr(platform, 'platform', lambda **kwargs: self._platform)
75
version.show_version(show_config=False, show_copyright=False,
77
self.assertContainsRe(out.getvalue(),
78
r'(?m)^ Platform: %s' % self._platform)