Skip to content

Commit

Permalink
gh-103606: raise RuntimeError if config file is invalid or empty (#10…
Browse files Browse the repository at this point in the history
…4701)

(this adjusts new code) raise RuntimeError if provided config file is invalid or empty, not ValueError.
  • Loading branch information
Agent-Hellboy committed May 20, 2023
1 parent 27a68be commit 12f1581
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions Doc/library/logging.config.rst
Expand Up @@ -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
Expand Down Expand Up @@ -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.

Expand Down
4 changes: 2 additions & 2 deletions Lib/logging/config.py
Expand Up @@ -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
Expand All @@ -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)

Expand Down
4 changes: 2 additions & 2 deletions Lib/test/test_logging.py
Expand Up @@ -1781,12 +1781,12 @@ def test_exception_if_confg_file_is_invalid(self):
"""

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):
Expand Down

0 comments on commit 12f1581

Please sign in to comment.