]> granicus.if.org Git - python/commitdiff
Issue #15441: Skip test_nonascii_abspath() of test_genericpath on Windows
authorVictor Stinner <victor.stinner@gmail.com>
Wed, 1 Aug 2012 18:03:49 +0000 (20:03 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Wed, 1 Aug 2012 18:03:49 +0000 (20:03 +0200)
if the bytes filenames cannot be encoded from the file system (ANSI) code page

Lib/test/test_genericpath.py

index fc3d44c589e40c8bd28c0fbc77ce840301b03bff..3eadd5893c4cf57fda69ecfa1413abbd6616ce0d 100644 (file)
@@ -299,8 +299,7 @@ class CommonTest(GenericTest):
 
         unicwd = '\xe7w\xf0'
         try:
-            fsencoding = support.TESTFN_ENCODING or "ascii"
-            unicwd.encode(fsencoding)
+            os.fsencode(unicwd)
         except (AttributeError, UnicodeEncodeError):
             # FS encoding is probably ASCII
             pass
@@ -312,10 +311,19 @@ class CommonTest(GenericTest):
     @unittest.skipIf(sys.platform == 'darwin',
         "Mac OS X denies the creation of a directory with an invalid utf8 name")
     def test_nonascii_abspath(self):
+        name = b'\xe7w\xf0'
+        if sys.platform == 'win32':
+            try:
+                os.fsdecode(name)
+            except UnicodeDecodeError:
+                self.skipTest("the filename %a is not decodable "
+                              "from the ANSI code page %s"
+                              % (name, sys.getfilesystemencoding()))
+
         # Test non-ASCII, non-UTF8 bytes in the path.
         with warnings.catch_warnings():
             warnings.simplefilter("ignore", DeprecationWarning)
-            with support.temp_cwd(b'\xe7w\xf0'):
+            with support.temp_cwd(name):
                 self.test_abspath()