Index: Lib/test/test_pep277.py =================================================================== --- Lib/test/test_pep277.py (revision 77444) +++ Lib/test/test_pep277.py (working copy) @@ -2,8 +2,6 @@ # open, os.open, os.stat. os.listdir, os.rename, os.remove, os.mkdir, os.chdir, os.rmdir import sys, os, unittest from test import test_support -if not os.path.supports_unicode_filenames: - raise unittest.SkipTest, "test works only on NT+" filenames = [ 'abc', @@ -51,6 +49,8 @@ raise test_support.TestFailed("Expected to fail calling '%s(%r)'" % (fn.__name__, filename)) except expected_exception, details: + if isinstance(details.filename, str): + filename = filename.encode(sys.getfilesystemencoding()) if check_fn_in_exception and details.filename != filename: raise test_support.TestFailed("Function '%s(%r) failed with " "bad filename in the exception: %r" @@ -80,15 +80,16 @@ f1 = os.listdir(test_support.TESTFN) f2 = os.listdir(unicode(test_support.TESTFN, sys.getfilesystemencoding())) - sf2 = set(u"\\".join((unicode(test_support.TESTFN), f)) + sf2 = set(os.sep.join((unicode(test_support.TESTFN), f)) for f in f2) self.assertEqual(len(f1), len(self.files)) self.assertEqual(sf2, set(self.files)) def test_rename(self): + tmp = os.path.join(test_support.TESTFN, "tmp") for name in self.files: - os.rename(name,"tmp") - os.rename("tmp",name) + os.rename(name, tmp) + os.rename(tmp, name) def test_directory(self): dirname = os.path.join(test_support.TESTFN,u'Gr\xfc\xdf-\u66e8\u66e9\u66eb')