From 2db61fb7a806c7e85bc5eb96cb64574aa10dfde3 Mon Sep 17 00:00:00 2001 From: Florent Xicluna Date: Tue, 2 Mar 2010 21:34:45 +0000 Subject: Tentatively enable test_pep277 on all platforms. --- Lib/test/test_pep277.py | 10 +++++++--- Misc/NEWS | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_pep277.py b/Lib/test/test_pep277.py index 4695e0a..e5f538e 100644 --- a/Lib/test/test_pep277.py +++ b/Lib/test/test_pep277.py @@ -2,8 +2,9 @@ # 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+" +## There's no obvious reason to skip these tests on POSIX systems +# if not os.path.supports_unicode_filenames: +# raise unittest.SkipTest, "test works only on NT+" filenames = [ 'abc', @@ -51,6 +52,9 @@ class UnicodeFileTests(unittest.TestCase): raise test_support.TestFailed("Expected to fail calling '%s(%r)'" % (fn.__name__, filename)) except expected_exception, details: + # the "filename" exception attribute may be encoded + 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,7 +84,7 @@ class UnicodeFileTests(unittest.TestCase): 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.path.join(unicode(test_support.TESTFN), f) for f in f2) self.assertEqual(len(f1), len(self.files)) self.assertEqual(sf2, set(self.files)) diff --git a/Misc/NEWS b/Misc/NEWS index b25b32a..d386c2f 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -106,6 +106,8 @@ Extension Modules Tests ----- +- Issue #767675: enable test_pep277 on all platforms. + - Issue #6292: for the moment at least, the test suite runs cleanly if python is run with the -OO flag. Tests requiring docstrings are skipped. -- cgit v0.12