Rev 6581: (vila) Make 'bzr version' support utf8 platform names. (Vincent Ladeuil) in file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/

Patch Queue Manager pqm at pqm.ubuntu.com
Sun Jul 14 10:59:29 UTC 2013


At file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 6581 [merge]
revision-id: pqm at pqm.ubuntu.com-20130714105928-78j748r1djstxmo1
parent: pqm at pqm.ubuntu.com-20130713193329-toxd5u7s4tk19fb0
parent: v.ladeuil+lp at free.fr-20130713223515-wftce3su3nu2oov6
committer: Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Sun 2013-07-14 10:59:28 +0000
message:
  (vila) Make 'bzr version' support utf8 platform names. (Vincent Ladeuil)
modified:
  bzrlib/tests/test_version.py   test_version.py-20060816024207-ves6ult9a11taj9t-2
  bzrlib/version.py              version.py-20060816024207-ves6ult9a11taj9t-1
  doc/en/release-notes/bzr-2.6.txt bzr2.6.txt-20120116134316-8w1xxom1c7vcu1t5-1
=== modified file 'bzrlib/tests/test_version.py'
--- a/bzrlib/tests/test_version.py	2011-05-13 12:51:05 +0000
+++ b/bzrlib/tests/test_version.py	2013-07-13 22:35:15 +0000
@@ -17,12 +17,21 @@
 """Tests for versioning of bzrlib."""
 
 from cStringIO import StringIO
+import platform
 import re
 
-from bzrlib import version, workingtree
-from bzrlib.tests import TestCase, TestSkipped
-
-class TestBzrlibVersioning(TestCase):
+from bzrlib import (
+    tests,
+    version,
+    workingtree,
+    )
+from bzrlib.tests.scenarios import load_tests_apply_scenarios
+
+
+load_tests = load_tests_apply_scenarios
+
+
+class TestBzrlibVersioning(tests.TestCase):
 
     def test_get_bzr_source_tree(self):
         """Get tree for bzr source, if any."""
@@ -33,7 +42,8 @@
         # just assert that it must either return None or the tree.
         src_tree = version._get_bzr_source_tree()
         if src_tree is None:
-            raise TestSkipped("bzr tests aren't run from a bzr working tree")
+            raise tests.TestSkipped(
+                "bzr tests aren't run from a bzr working tree")
         else:
             # ensure that what we got was in fact a working tree instance.
             self.assertIsInstance(src_tree, workingtree.WorkingTree)
@@ -47,3 +57,20 @@
         m = re.search(r"Python interpreter: (.*) [0-9]", out)
         self.assertIsNot(m, None)
         self.assertPathExists(m.group(1))
+
+class TestPlatformUse(tests.TestCase):
+
+    scenarios = [('ascii', dict(_platform='test-platform')),
+                 ('unicode', dict(_platform='Schr\xc3\xb6dinger'))]
+
+    def setUp(self):
+        super(TestPlatformUse, self).setUp()
+        self.permit_source_tree_branch_repo()
+
+    def test_platform(self):
+        out = self.make_utf8_encoded_stringio()
+        self.overrideAttr(platform, 'platform', lambda **kwargs: self._platform)
+        version.show_version(show_config=False, show_copyright=False,
+                             to_file=out)
+        self.assertContainsRe(out.getvalue(),
+                              r'(?m)^  Platform: %s' % self._platform)

=== modified file 'bzrlib/version.py'
--- a/bzrlib/version.py	2011-12-19 13:23:58 +0000
+++ b/bzrlib/version.py	2013-07-13 22:35:15 +0000
@@ -19,6 +19,7 @@
 from __future__ import absolute_import
 
 import os
+import platform
 import sys
 
 import bzrlib
@@ -32,8 +33,6 @@
 
 
 def show_version(show_config=True, show_copyright=True, to_file=None):
-    import platform
-
     if to_file is None:
         to_file = sys.stdout
     to_file.write("Bazaar (bzr) %s\n" % bzrlib.__version__)
@@ -66,7 +65,8 @@
 
     to_file.write("  Python standard library:" + ' ')
     to_file.write(os.path.dirname(os.__file__) + '\n')
-    to_file.write("  Platform: %s\n" % platform.platform(aliased=1))
+    to_file.write("  Platform: %s\n"
+                  % platform.platform(aliased=1).decode('utf-8'))
     to_file.write("  bzrlib: ")
     if len(bzrlib.__path__) > 1:
         # print repr, which is a good enough way of making it clear it's

=== modified file 'doc/en/release-notes/bzr-2.6.txt'
--- a/doc/en/release-notes/bzr-2.6.txt	2013-07-09 07:47:49 +0000
+++ b/doc/en/release-notes/bzr-2.6.txt	2013-07-14 10:59:28 +0000
@@ -72,6 +72,10 @@
   causes breakage with docutils 0.9.1.
   (Vincent Ladeuil, Jelmer Vernooij, #1066307)
 
+* Support utf8 characters in platform names even without looking inside the
+  box (Fedora's Schrödinger's Cat).  
+  (Toshio Kuratomi, Vincent Ladeuil, #1195783)
+
 * Warn when ``--show-base`` is used for ``pull`` in a treeless branch
   instead of failing. It's useless but harmless. (Vincent Ladeuil, #1022160)
 




More information about the bazaar-commits mailing list