|
|
|
@ -835,6 +835,30 @@ class EnvironTests(mapping_tests.BasicTestMappingProtocol): |
|
|
|
self.assertIs(cm.exception.args[0], missing) |
|
|
|
self.assertTrue(cm.exception.__suppress_context__) |
|
|
|
|
|
|
|
def _test_environ_iteration(self, collection): |
|
|
|
iterator = iter(collection) |
|
|
|
new_key = "__new_key__" |
|
|
|
|
|
|
|
next(iterator) # start iteration over os.environ.items |
|
|
|
|
|
|
|
# add a new key in os.environ mapping |
|
|
|
os.environ[new_key] = "test_environ_iteration" |
|
|
|
|
|
|
|
try: |
|
|
|
next(iterator) # force iteration over modified mapping |
|
|
|
self.assertEqual(os.environ[new_key], "test_environ_iteration") |
|
|
|
finally: |
|
|
|
del os.environ[new_key] |
|
|
|
|
|
|
|
def test_iter_error_when_changing_os_environ(self): |
|
|
|
self._test_environ_iteration(os.environ) |
|
|
|
|
|
|
|
def test_iter_error_when_changing_os_environ_items(self): |
|
|
|
self._test_environ_iteration(os.environ.items()) |
|
|
|
|
|
|
|
def test_iter_error_when_changing_os_environ_values(self): |
|
|
|
self._test_environ_iteration(os.environ.values()) |
|
|
|
|
|
|
|
|
|
|
|
class WalkTests(unittest.TestCase): |
|
|
|
"""Tests for os.walk().""" |
|
|
|
|