Author: Amaury Forgeot d'Arc <[email protected]>
Branch: py3k
Changeset: r59003:d089c56b8e75
Date: 2012-11-19 20:00 +0100
http://bitbucket.org/pypy/pypy/changeset/d089c56b8e75/
Log: listdir(bytes) is now the special case, be sure to test it.
diff --git a/pypy/module/posix/test/test_posix2.py
b/pypy/module/posix/test/test_posix2.py
--- a/pypy/module/posix/test/test_posix2.py
+++ b/pypy/module/posix/test/test_posix2.py
@@ -27,10 +27,10 @@
pdir.join('file2').write("test2")
pdir.join('another_longer_file_name').write("test3")
mod.pdir = pdir
- unicode_dir = udir.ensure('fi\xc5\x9fier.txt', dir=True)
- unicode_dir.join('somefile').write('who cares?')
- unicode_dir.join('caf\xe9').write('who knows?')
- mod.unicode_dir = unicode_dir
+ bytes_dir = udir.ensure('fi\xc5\x9fier.txt', dir=True)
+ bytes_dir.join('somefile').write('who cares?')
+ bytes_dir.join('caf\xe9').write('who knows?')
+ mod.bytes_dir = bytes_dir
# in applevel tests, os.stat uses the CPython os.stat.
# Be sure to return times with full precision
@@ -57,12 +57,7 @@
cls.w_path = space.wrap(str(path))
cls.w_path2 = space.wrap(str(path2))
cls.w_pdir = space.wrap(str(pdir))
- try:
- cls.w_unicode_dir = space.wrap(
- str(unicode_dir).decode(sys.getfilesystemencoding()))
- except UnicodeDecodeError:
- # filesystem encoding is not good enough
- cls.w_unicode_dir = space.w_None
+ cls.w_bytes_dir = space.wrapbytes(str(bytes_dir))
if hasattr(os, 'getuid'):
cls.w_getuid = space.wrap(os.getuid())
cls.w_geteuid = space.wrap(os.geteuid())
@@ -280,26 +275,14 @@
'file1',
'file2']
- def test_listdir_unicode(self):
+ def test_listdir_bytes(self):
import sys
- unicode_dir = self.unicode_dir
- if unicode_dir is None:
- skip("encoding not good enough")
+ bytes_dir = self.bytes_dir
posix = self.posix
- result = posix.listdir(unicode_dir)
- assert all(type(x) is str for x in result)
- assert 'somefile' in result
- try:
- u = b"caf\xe9".decode(sys.getfilesystemencoding())
- except UnicodeDecodeError:
- # Could not decode, listdir returns it surrogateescape'd
- if sys.platform != 'darwin':
- assert 'caf\udce9' in result
- else:
- # darwin 'normalized' it
- assert 'caf%E9' in result
- else:
- assert u in result
+ result = posix.listdir(bytes_dir)
+ assert all(type(x) is bytes for x in result)
+ assert b'somefile' in result
+ assert b'caf\xe9' in result
def test_undecodable_filename(self):
posix = self.posix
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit