summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2017-01-11 06:57:55 (GMT)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2017-01-11 06:57:55 (GMT)
commit8b866d5429c72227a6133d6964b9800a184556fd (patch)
treec5e124296909474694631375be71a02542512f55
parent231d1f3439f3a9c629eb3117ee72a653da0f6238 (diff)
downloadcpython-8b866d5429c72227a6133d6964b9800a184556fd.zip
cpython-8b866d5429c72227a6133d6964b9800a184556fd.tar.gz
cpython-8b866d5429c72227a6133d6964b9800a184556fd.tar.bz2
Closes #29220: Fixed regression in logging.getLevelName().
-rw-r--r--Lib/logging/__init__.py10
-rw-r--r--Lib/test/test_logging.py6
2 files changed, 13 insertions, 3 deletions
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index d886d35..fb866f3 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -131,9 +131,13 @@ def getLevelName(level):
Otherwise, the string "Level %s" % level is returned.
"""
- # See Issues #22386 and #27937 for why it's this way
- return (_levelToName.get(level) or _nameToLevel.get(level) or
- "Level %s" % level)
+ # See Issues #22386, #27937 and #29220 for why it's this way
+ result = _levelToName.get(level)
+ if result is None:
+ result = _nameToLevel.get(level)
+ if result is None:
+ result = "Level %s" % level
+ return result
def addLevelName(level, levelName):
"""
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index d5981e8..6a91152 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -309,6 +309,12 @@ class BuiltinLevelsTest(BaseTest):
self.assertEqual(logging.getLevelName('INFO'), logging.INFO)
self.assertEqual(logging.getLevelName(logging.INFO), 'INFO')
+ def test_regression_29220(self):
+ """See issue #29220 for more information."""
+ logging.addLevelName(logging.INFO, '')
+ self.addCleanup(logging.addLevelName, logging.INFO, 'INFO')
+ self.assertEqual(logging.getLevelName(logging.INFO), '')
+
def test_issue27935(self):
fatal = logging.getLevelName('FATAL')
self.assertEqual(fatal, logging.FATAL)