summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_os.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2013-04-14 14:35:04 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2013-04-14 14:35:04 (GMT)
commit6d10139d70b80cf1326c2763dd13ecc169ce1931 (patch)
tree89f487d9481b0ddfde8efbeea9872daab60f1333 /Lib/test/test_os.py
parentc4e0d982f3b967973553c99722b1e4002c8b35f6 (diff)
downloadcpython-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.py18
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()."""