~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_version.py

  • Committer: Vincent Ladeuil
  • Date: 2013-07-13 22:35:15 UTC
  • mto: This revision was merged to the branch mainline in revision 6581.
  • Revision ID: v.ladeuil+lp@free.fr-20130713223515-wftce3su3nu2oov6
Support utf-8 platform names

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
"""Tests for versioning of bzrlib."""
18
18
 
19
19
from cStringIO import StringIO
 
20
import platform
20
21
import re
21
22
 
22
 
from bzrlib import version, workingtree
23
 
from bzrlib.tests import TestCase, TestSkipped
24
 
 
25
 
class TestBzrlibVersioning(TestCase):
 
23
from bzrlib import (
 
24
    tests,
 
25
    version,
 
26
    workingtree,
 
27
    )
 
28
from bzrlib.tests.scenarios import load_tests_apply_scenarios
 
29
 
 
30
 
 
31
load_tests = load_tests_apply_scenarios
 
32
 
 
33
 
 
34
class TestBzrlibVersioning(tests.TestCase):
26
35
 
27
36
    def test_get_bzr_source_tree(self):
28
37
        """Get tree for bzr source, if any."""
33
42
        # just assert that it must either return None or the tree.
34
43
        src_tree = version._get_bzr_source_tree()
35
44
        if src_tree is None:
36
 
            raise TestSkipped("bzr tests aren't run from a bzr working tree")
 
45
            raise tests.TestSkipped(
 
46
                "bzr tests aren't run from a bzr working tree")
37
47
        else:
38
48
            # ensure that what we got was in fact a working tree instance.
39
49
            self.assertIsInstance(src_tree, workingtree.WorkingTree)
47
57
        m = re.search(r"Python interpreter: (.*) [0-9]", out)
48
58
        self.assertIsNot(m, None)
49
59
        self.assertPathExists(m.group(1))
 
60
 
 
61
class TestPlatformUse(tests.TestCase):
 
62
 
 
63
    scenarios = [('ascii', dict(_platform='test-platform')),
 
64
                 ('unicode', dict(_platform='Schr\xc3\xb6dinger'))]
 
65
 
 
66
    def setUp(self):
 
67
        super(TestPlatformUse, self).setUp()
 
68
        self.permit_source_tree_branch_repo()
 
69
 
 
70
    def test_platform(self):
 
71
        out = self.make_utf8_encoded_stringio()
 
72
        self.overrideAttr(platform, 'platform', lambda **kwargs: self._platform)
 
73
        version.show_version(show_config=False, show_copyright=False,
 
74
                             to_file=out)
 
75
        self.assertContainsRe(out.getvalue(),
 
76
                              r'(?m)^  Platform: %s' % self._platform)