Improve test feedback to troubleshoot issue #8423 on OS X.

This commit is contained in:
Florent Xicluna 2010-05-13 21:41:05 +00:00
parent 9ac6114dc9
commit 9cf210f392
1 changed files with 17 additions and 4 deletions

View File

@ -130,10 +130,14 @@ class UnicodeFileTests(unittest.TestCase):
if sys.platform == 'darwin':
files = set(normalize('NFD', file) for file in files)
for name in others:
if sys.platform == 'darwin' and normalize('NFD', name) in files:
if sys.platform == 'darwin':
# Mac OS X decomposes Unicode names. See comment above.
os.stat(name)
continue
try:
os.stat(name)
if normalize('NFD', name) in files:
continue
except OSError:
pass
self._apply_failure(open, name, IOError)
self._apply_failure(os.stat, name, OSError)
self._apply_failure(os.chdir, name, OSError)
@ -152,7 +156,16 @@ class UnicodeFileTests(unittest.TestCase):
sf0 = set(normalize('NFD', unicode(f)) for f in self.files)
f2 = [normalize('NFD', unicode(f)) for f in f2]
sf2 = set(os.path.join(unicode(test_support.TESTFN), f) for f in f2)
self.assertEqual(sf0, sf2)
try:
self.assertEqual(sf0, sf2)
except self.failureException:
if sys.platform != 'darwin':
raise
# XXX Troubleshoot issue #8423
f2 = os.listdir(unicode(test_support.TESTFN,
sys.getfilesystemencoding()))
sf2 = set(os.path.join(unicode(test_support.TESTFN), f) for f in f2)
self.assertEqual(set(self.files), sf2)
self.assertEqual(len(f1), len(f2))
def test_rename(self):