]> granicus.if.org Git - python/commitdiff
Issue #22165: Fixed test_undecodable_filename on Mac OS.
authorSerhiy Storchaka <storchaka@gmail.com>
Sun, 17 Aug 2014 13:57:39 +0000 (16:57 +0300)
committerSerhiy Storchaka <storchaka@gmail.com>
Sun, 17 Aug 2014 13:57:39 +0000 (16:57 +0300)
Lib/test/test_httpservers.py

index ad058b5efa4855250bb042b3e43be353b941db67..f164054748f3fd95862741260ece1f04167b12ff 100644 (file)
@@ -277,6 +277,13 @@ class SimpleHTTPServerTestCase(BaseTestCase):
         with open(os.path.join(self.tempdir, filename), 'wb') as f:
             f.write(support.TESTFN_UNDECODABLE)
         response = self.request(self.tempdir_name + '/')
+        if sys.platform == 'darwin':
+            # On Mac OS the HFS+ filesystem replaces bytes that aren't valid
+            # UTF-8 into a percent-encoded value.
+            for name in os.listdir(self.tempdir):
+                if name != 'test': # Ignore a filename created in setUp().
+                    filename = name
+                    break
         body = self.check_status_and_reason(response, 200)
         quotedname = urllib.parse.quote(filename, errors='surrogatepass')
         self.assertIn(('href="%s"' % quotedname)