bpo-36264: Don't honor POSIX HOME in os.path.expanduser on Windows (GH-12282)
This commit is contained in:
parent
410aea1ebf
commit
25ec4a45dc
|
@ -60,6 +60,7 @@ class BasePyPIRCCommandTestCase(support.TempdirManager,
|
|||
super(BasePyPIRCCommandTestCase, self).setUp()
|
||||
self.tmp_dir = self.mkdtemp()
|
||||
os.environ['HOME'] = self.tmp_dir
|
||||
os.environ['USERPROFILE'] = self.tmp_dir
|
||||
self.rc = os.path.join(self.tmp_dir, '.pypirc')
|
||||
self.dist = Distribution()
|
||||
|
||||
|
|
|
@ -463,7 +463,7 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard,
|
|||
# win32-style
|
||||
if sys.platform == 'win32':
|
||||
# home drive should be found
|
||||
os.environ['HOME'] = temp_dir
|
||||
os.environ['USERPROFILE'] = temp_dir
|
||||
files = dist.find_config_files()
|
||||
self.assertIn(user_filename, files,
|
||||
'%r not found in %r' % (user_filename, files))
|
||||
|
|
|
@ -299,9 +299,7 @@ def expanduser(path):
|
|||
while i < n and path[i] not in _get_bothseps(path):
|
||||
i += 1
|
||||
|
||||
if 'HOME' in os.environ:
|
||||
userhome = os.environ['HOME']
|
||||
elif 'USERPROFILE' in os.environ:
|
||||
if 'USERPROFILE' in os.environ:
|
||||
userhome = os.environ['USERPROFILE']
|
||||
elif not 'HOMEPATH' in os.environ:
|
||||
return path
|
||||
|
|
|
@ -154,6 +154,7 @@ class NetrcTestCase(unittest.TestCase):
|
|||
called.append(s)
|
||||
with support.EnvironmentVarGuard() as environ:
|
||||
environ.set('HOME', fake_home)
|
||||
environ.set('USERPROFILE', fake_home)
|
||||
result = orig_expanduser(s)
|
||||
return result
|
||||
|
||||
|
|
|
@ -262,20 +262,21 @@ class TestNtpath(unittest.TestCase):
|
|||
env['USERPROFILE'] = 'C:\\eric\\idle'
|
||||
tester('ntpath.expanduser("~test")', 'C:\\eric\\test')
|
||||
tester('ntpath.expanduser("~")', 'C:\\eric\\idle')
|
||||
|
||||
env.clear()
|
||||
env['HOME'] = 'C:\\idle\\eric'
|
||||
tester('ntpath.expanduser("~test")', 'C:\\idle\\test')
|
||||
tester('ntpath.expanduser("~")', 'C:\\idle\\eric')
|
||||
|
||||
tester('ntpath.expanduser("~test\\foo\\bar")',
|
||||
'C:\\idle\\test\\foo\\bar')
|
||||
'C:\\eric\\test\\foo\\bar')
|
||||
tester('ntpath.expanduser("~test/foo/bar")',
|
||||
'C:\\idle\\test/foo/bar')
|
||||
'C:\\eric\\test/foo/bar')
|
||||
tester('ntpath.expanduser("~\\foo\\bar")',
|
||||
'C:\\idle\\eric\\foo\\bar')
|
||||
'C:\\eric\\idle\\foo\\bar')
|
||||
tester('ntpath.expanduser("~/foo/bar")',
|
||||
'C:\\idle\\eric/foo/bar')
|
||||
'C:\\eric\\idle/foo/bar')
|
||||
|
||||
# bpo-36264: ignore `HOME` when set on windows
|
||||
env.clear()
|
||||
env['HOME'] = 'F:\\'
|
||||
env['USERPROFILE'] = 'C:\\eric\\idle'
|
||||
tester('ntpath.expanduser("~test")', 'C:\\eric\\test')
|
||||
tester('ntpath.expanduser("~")', 'C:\\eric\\idle')
|
||||
|
||||
@unittest.skipUnless(nt, "abspath requires 'nt' module")
|
||||
def test_abspath(self):
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Don't honor POSIX ``HOME`` in ``os.path.expanduser`` on windows. Patch by
|
||||
Anthony Sottile.
|
Loading…
Reference in New Issue