diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2013-04-14 14:35:04 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2013-04-14 14:35:04 (GMT) |
commit | 6d10139d70b80cf1326c2763dd13ecc169ce1931 (patch) | |
tree | 89f487d9481b0ddfde8efbeea9872daab60f1333 /Lib/test/test_os.py | |
parent | c4e0d982f3b967973553c99722b1e4002c8b35f6 (diff) | |
download | cpython-6d10139d70b80cf1326c2763dd13ecc169ce1931.zip cpython-6d10139d70b80cf1326c2763dd13ecc169ce1931.tar.gz cpython-6d10139d70b80cf1326c2763dd13ecc169ce1931.tar.bz2 |
Close #17702: os.environ now raises KeyError with the original environment
variable name (str on UNIX), instead of using the encoded name (bytes on UNIX).
Diffstat (limited to 'Lib/test/test_os.py')
-rw-r--r-- | Lib/test/test_os.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 184c9ae..83373be 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -632,6 +632,24 @@ class EnvironTests(mapping_tests.BasicTestMappingProtocol): key = 'key=' self.assertRaises(OSError, os.environ.__delitem__, key) + def test_key_type(self): + missing = 'missingkey' + self.assertNotIn(missing, os.environ) + + try: + os.environ[missing] + except KeyError as err: + self.assertIs(err.args[0], missing) + else: + self.fail("KeyError not raised") + + try: + del os.environ[missing] + except KeyError as err: + self.assertIs(err.args[0], missing) + else: + self.fail("KeyError not raised") + class WalkTests(unittest.TestCase): """Tests for os.walk().""" |