]> granicus.if.org Git - python/commitdiff
Fixes tests broken by issue #27781.
authorSteve Dower <steve.dower@microsoft.com>
Thu, 8 Sep 2016 18:11:13 +0000 (11:11 -0700)
committerSteve Dower <steve.dower@microsoft.com>
Thu, 8 Sep 2016 18:11:13 +0000 (11:11 -0700)
Lib/test/test_genericpath.py
Lib/test/test_httpservers.py
Lib/test/test_shutil.py
Lib/test/test_sys.py

index c8f158d0c5add3275d2a5463521e402282597b31..ae5dd6a5f7cd06bbec0e1fcd7f5dd99b75cafe31 100644 (file)
@@ -388,10 +388,13 @@ class CommonTest(GenericTest):
             warnings.simplefilter("ignore", DeprecationWarning)
             self.assertIn(b"foo", self.pathmodule.abspath(b"foo"))
 
+        # avoid UnicodeDecodeError on Windows
+        undecodable_path = b'' if sys.platform == 'win32' else b'f\xf2\xf2'
+
         # Abspath returns bytes when the arg is bytes
         with warnings.catch_warnings():
             warnings.simplefilter("ignore", DeprecationWarning)
-            for path in (b'', b'foo', b'f\xf2\xf2', b'/foo', b'C:\\'):
+            for path in (b'', b'foo', undecodable_path, b'/foo', b'C:\\'):
                 self.assertIsInstance(self.pathmodule.abspath(path), bytes)
 
     def test_realpath(self):
index 75044cbafa47b2918e791b2a3ef249d6c44e58e1..4e931446b9ef845b31c281d1c8d2993a58e40988 100644 (file)
@@ -370,6 +370,8 @@ class SimpleHTTPServerTestCase(BaseTestCase):
         return body
 
     @support.requires_mac_ver(10, 5)
+    @unittest.skipIf(sys.platform == 'win32',
+                     'undecodable name cannot be decoded on win32')
     @unittest.skipUnless(support.TESTFN_UNDECODABLE,
                          'need support.TESTFN_UNDECODABLE')
     def test_undecodable_filename(self):
index 90a31d7b181e963f7ade2d84c3d5be598bd7917b..990fae55dbfd65c108032a7c4bb942576bee1690 100644 (file)
@@ -132,9 +132,7 @@ class TestShutil(unittest.TestCase):
         write_file(os.path.join(victim, 'somefile'), 'foo')
         victim = os.fsencode(victim)
         self.assertIsInstance(victim, bytes)
-        win = (os.name == 'nt')
-        with self.assertWarns(DeprecationWarning) if win else ExitStack():
-            shutil.rmtree(victim)
+        shutil.rmtree(victim)
 
     @support.skip_unless_symlink
     def test_rmtree_fails_on_symlink(self):
index ea152c1ed52b51575493db541b6bfaf8218985ab..6084d2d70dc8725dd2fd196c80266de4bc354c9c 100644 (file)
@@ -10,6 +10,7 @@ import codecs
 import gc
 import sysconfig
 import platform
+import locale
 
 # count the number of test runs, used to create unique
 # strings to intern in test_intern()
@@ -627,6 +628,8 @@ class SysModuleTest(unittest.TestCase):
 
     @unittest.skipUnless(test.support.FS_NONASCII,
                          'requires OS support of non-ASCII encodings')
+    @unittest.skipUnless(sys.getfilesystemencoding() == locale.getpreferredencoding(False),
+                         'requires FS encoding to match locale')
     def test_ioencoding_nonascii(self):
         env = dict(os.environ)
 
@@ -669,8 +672,6 @@ class SysModuleTest(unittest.TestCase):
         fs_encoding = sys.getfilesystemencoding()
         if sys.platform == 'darwin':
             expected = 'utf-8'
-        elif sys.platform == 'win32':
-            expected = 'mbcs'
         else:
             expected = None
         self.check_fsencoding(fs_encoding, expected)