Issue #26800: Undocumented support of general bytes-like objects

as paths in os functions is now deprecated.
This commit is contained in:
Serhiy Storchaka 2016-08-06 23:22:08 +03:00
parent 43b586b951
commit d73c31899e
5 changed files with 48 additions and 4 deletions

View file

@ -2626,6 +2626,7 @@ class OSErrorTests(unittest.TestCase):
else:
encoded = os.fsencode(support.TESTFN)
self.bytes_filenames.append(encoded)
self.bytes_filenames.append(bytearray(encoded))
self.bytes_filenames.append(memoryview(encoded))
self.filenames = self.bytes_filenames + self.unicode_filenames
@ -2699,8 +2700,14 @@ class OSErrorTests(unittest.TestCase):
for filenames, func, *func_args in funcs:
for name in filenames:
try:
with bytes_filename_warn(False):
if isinstance(name, str):
func(name, *func_args)
elif isinstance(name, bytes):
with bytes_filename_warn(False):
func(name, *func_args)
else:
with self.assertWarnsRegex(DeprecationWarning, 'should be'):
func(name, *func_args)
except OSError as err:
self.assertIs(err.filename, name)
else: