mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
gh-120057: Add os.reload_environ() function (#126268)
Replace the os.environ.refresh() method with a new os.reload_environ() function. Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
This commit is contained in:
parent
d3840503b0
commit
4a0d574273
5 changed files with 52 additions and 31 deletions
|
@ -1298,8 +1298,8 @@ class EnvironTests(mapping_tests.BasicTestMappingProtocol):
|
|||
self._test_underlying_process_env('_A_', '')
|
||||
self._test_underlying_process_env(overridden_key, original_value)
|
||||
|
||||
def test_refresh(self):
|
||||
# Test os.environ.refresh()
|
||||
def test_reload_environ(self):
|
||||
# Test os.reload_environ()
|
||||
has_environb = hasattr(os, 'environb')
|
||||
|
||||
# Test with putenv() which doesn't update os.environ
|
||||
|
@ -1309,7 +1309,7 @@ class EnvironTests(mapping_tests.BasicTestMappingProtocol):
|
|||
if has_environb:
|
||||
self.assertEqual(os.environb[b'test_env'], b'python_value')
|
||||
|
||||
os.environ.refresh()
|
||||
os.reload_environ()
|
||||
self.assertEqual(os.environ['test_env'], 'new_value')
|
||||
if has_environb:
|
||||
self.assertEqual(os.environb[b'test_env'], b'new_value')
|
||||
|
@ -1320,28 +1320,28 @@ class EnvironTests(mapping_tests.BasicTestMappingProtocol):
|
|||
if has_environb:
|
||||
self.assertEqual(os.environb[b'test_env'], b'new_value')
|
||||
|
||||
os.environ.refresh()
|
||||
os.reload_environ()
|
||||
self.assertNotIn('test_env', os.environ)
|
||||
if has_environb:
|
||||
self.assertNotIn(b'test_env', os.environb)
|
||||
|
||||
if has_environb:
|
||||
# test os.environb.refresh() with putenv()
|
||||
# test reload_environ() on os.environb with putenv()
|
||||
os.environb[b'test_env'] = b'python_value2'
|
||||
os.putenv("test_env", "new_value2")
|
||||
self.assertEqual(os.environb[b'test_env'], b'python_value2')
|
||||
self.assertEqual(os.environ['test_env'], 'python_value2')
|
||||
|
||||
os.environb.refresh()
|
||||
os.reload_environ()
|
||||
self.assertEqual(os.environb[b'test_env'], b'new_value2')
|
||||
self.assertEqual(os.environ['test_env'], 'new_value2')
|
||||
|
||||
# test os.environb.refresh() with unsetenv()
|
||||
# test reload_environ() on os.environb with unsetenv()
|
||||
os.unsetenv('test_env')
|
||||
self.assertEqual(os.environb[b'test_env'], b'new_value2')
|
||||
self.assertEqual(os.environ['test_env'], 'new_value2')
|
||||
|
||||
os.environb.refresh()
|
||||
os.reload_environ()
|
||||
self.assertNotIn(b'test_env', os.environb)
|
||||
self.assertNotIn('test_env', os.environ)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue