mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
Issue #18283: shutil.which() now supports bytes argument, not only text argument.
This commit is contained in:
parent
a4275b276c
commit
fffb96ba66
4 changed files with 32 additions and 10 deletions
|
@ -1326,6 +1326,7 @@ class TestWhich(unittest.TestCase):
|
|||
os.chmod(self.temp_file.name, stat.S_IXUSR)
|
||||
self.addCleanup(self.temp_file.close)
|
||||
self.dir, self.file = os.path.split(self.temp_file.name)
|
||||
self.env_path = self.dir
|
||||
|
||||
def test_basic(self):
|
||||
# Given an EXE in a directory, it should be returned.
|
||||
|
@ -1394,7 +1395,7 @@ class TestWhich(unittest.TestCase):
|
|||
|
||||
def test_environ_path(self):
|
||||
with support.EnvironmentVarGuard() as env:
|
||||
env['PATH'] = self.dir
|
||||
env['PATH'] = self.env_path
|
||||
rv = shutil.which(self.file)
|
||||
self.assertEqual(rv, self.temp_file.name)
|
||||
|
||||
|
@ -1402,7 +1403,7 @@ class TestWhich(unittest.TestCase):
|
|||
base_dir = os.path.dirname(self.dir)
|
||||
with support.change_cwd(path=self.dir), \
|
||||
support.EnvironmentVarGuard() as env:
|
||||
env['PATH'] = self.dir
|
||||
env['PATH'] = self.env_path
|
||||
rv = shutil.which(self.file, path='')
|
||||
self.assertIsNone(rv)
|
||||
|
||||
|
@ -1413,6 +1414,14 @@ class TestWhich(unittest.TestCase):
|
|||
self.assertIsNone(rv)
|
||||
|
||||
|
||||
class TestWhichBytes(TestWhich):
|
||||
def setUp(self):
|
||||
TestWhich.setUp(self)
|
||||
self.dir = os.fsencode(self.dir)
|
||||
self.file = os.fsencode(self.file)
|
||||
self.temp_file.name = os.fsencode(self.temp_file.name)
|
||||
|
||||
|
||||
class TestMove(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue