mirror of
https://github.com/python/cpython.git
synced 2025-08-02 08:02:56 +00:00
bpo-39791: Support file systems that cannot support non-ascii filenames (skipping tests in that case). (#20681)
This commit is contained in:
parent
47a23fc63f
commit
2efe18bf27
2 changed files with 18 additions and 2 deletions
|
@ -210,6 +210,17 @@ def build_files(file_defs, prefix=pathlib.Path()):
|
||||||
f.write(DALS(contents))
|
f.write(DALS(contents))
|
||||||
|
|
||||||
|
|
||||||
|
class FileBuilder:
|
||||||
|
def unicode_filename(self):
|
||||||
|
try:
|
||||||
|
import test.support
|
||||||
|
except ImportError:
|
||||||
|
# outside CPython, hard-code a unicode snowman
|
||||||
|
return '☃'
|
||||||
|
return test.support.FS_NONASCII or \
|
||||||
|
self.skip("File system does not support non-ascii.")
|
||||||
|
|
||||||
|
|
||||||
def DALS(str):
|
def DALS(str):
|
||||||
"Dedent and left-strip"
|
"Dedent and left-strip"
|
||||||
return textwrap.dedent(str).lstrip()
|
return textwrap.dedent(str).lstrip()
|
||||||
|
|
|
@ -254,11 +254,16 @@ class TestEntryPoints(unittest.TestCase):
|
||||||
assert self.ep.attr is None
|
assert self.ep.attr is None
|
||||||
|
|
||||||
|
|
||||||
class FileSystem(fixtures.OnSysPath, fixtures.SiteDir, unittest.TestCase):
|
class FileSystem(
|
||||||
|
fixtures.OnSysPath, fixtures.SiteDir, fixtures.FileBuilder,
|
||||||
|
unittest.TestCase):
|
||||||
def test_unicode_dir_on_sys_path(self):
|
def test_unicode_dir_on_sys_path(self):
|
||||||
"""
|
"""
|
||||||
Ensure a Unicode subdirectory of a directory on sys.path
|
Ensure a Unicode subdirectory of a directory on sys.path
|
||||||
does not crash.
|
does not crash.
|
||||||
"""
|
"""
|
||||||
fixtures.build_files({'☃': {}}, prefix=self.site_dir)
|
fixtures.build_files(
|
||||||
|
{self.unicode_filename(): {}},
|
||||||
|
prefix=self.site_dir,
|
||||||
|
)
|
||||||
list(distributions())
|
list(distributions())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue