summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPrince Roshan <princekrroshan01@gmail.com>2023-05-20 22:26:49 (GMT)
committerGitHub <noreply@github.com>2023-05-20 22:26:49 (GMT)
commit12f1581b0c43f40a792c188e17d2dea2357debb3 (patch)
tree8fe49fd21b2b75f5fce951216c25ad42fafebd18
parent27a68be77f7a5bfb7c4b97438571b4fcf5aae8b4 (diff)
downloadcpython-12f1581b0c43f40a792c188e17d2dea2357debb3.zip
cpython-12f1581b0c43f40a792c188e17d2dea2357debb3.tar.gz
cpython-12f1581b0c43f40a792c188e17d2dea2357debb3.tar.bz2
gh-103606: raise RuntimeError if config file is invalid or empty (#104701)
(this adjusts new code) raise RuntimeError if provided config file is invalid or empty, not ValueError.
-rw-r--r--Doc/library/logging.config.rst4
-rw-r--r--Lib/logging/config.py4
-rw-r--r--Lib/test/test_logging.py4
3 files changed, 6 insertions, 6 deletions
diff --git a/Doc/library/logging.config.rst b/Doc/library/logging.config.rst
index 452832f..448978f 100644
--- a/Doc/library/logging.config.rst
+++ b/Doc/library/logging.config.rst
@@ -88,7 +88,7 @@ in :mod:`logging` itself) and defining handlers which are declared either in
configuration).
It will raise :exc:`FileNotFoundError` if the file
- doesn't exist and :exc:`ValueError` if the file is invalid or
+ doesn't exist and :exc:`RuntimeError` if the file is invalid or
empty.
:param fname: A filename, or a file-like object, or an instance derived
@@ -130,7 +130,7 @@ in :mod:`logging` itself) and defining handlers which are declared either in
.. versionadded:: 3.10
The *encoding* parameter is added.
- .. versionadded:: 3.12
+ .. versionchanged:: 3.12
An exception will be thrown if the provided file
doesn't exist or is invalid or empty.
diff --git a/Lib/logging/config.py b/Lib/logging/config.py
index 652f21e..a68281d 100644
--- a/Lib/logging/config.py
+++ b/Lib/logging/config.py
@@ -65,7 +65,7 @@ def fileConfig(fname, defaults=None, disable_existing_loggers=True, encoding=Non
if not os.path.exists(fname):
raise FileNotFoundError(f"{fname} doesn't exist")
elif not os.path.getsize(fname):
- raise ValueError(f'{fname} is an empty file')
+ raise RuntimeError(f'{fname} is an empty file')
if isinstance(fname, configparser.RawConfigParser):
cp = fname
@@ -78,7 +78,7 @@ def fileConfig(fname, defaults=None, disable_existing_loggers=True, encoding=Non
encoding = io.text_encoding(encoding)
cp.read(fname, encoding=encoding)
except configparser.ParsingError as e:
- raise ValueError(f'{fname} is invalid: {e}')
+ raise RuntimeError(f'{fname} is invalid: {e}')
formatters = _create_formatters(cp)
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index ba836a7..18258c2 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -1781,12 +1781,12 @@ class ConfigFileTest(BaseTest):
"""
file = io.StringIO(textwrap.dedent(test_config))
- self.assertRaises(ValueError, logging.config.fileConfig, file)
+ self.assertRaises(RuntimeError, logging.config.fileConfig, file)
def test_exception_if_confg_file_is_empty(self):
fd, fn = tempfile.mkstemp(prefix='test_empty_', suffix='.ini')
os.close(fd)
- self.assertRaises(ValueError, logging.config.fileConfig, fn)
+ self.assertRaises(RuntimeError, logging.config.fileConfig, fn)
os.remove(fn)
def test_exception_if_config_file_does_not_exist(self):