summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2023-04-27 15:49:12 +0200
committerRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2023-04-27 15:49:12 +0200
commit9889d8376d4a00ce7a6d3750f2f90841c3288849 (patch)
tree7ba49174503b85f9c6f7c4ded4d7f774d30c6dee
parent7aae8d1687af3ce1c5dad7f19485ea6027d57bae (diff)
downloadsetuptools-scm-9889d8376d4a00ce7a6d3750f2f90841c3288849.tar.gz
restore logging functionality
there was an unintended misconfiguration in the logging setup enforcing always warning levels
-rw-r--r--src/setuptools_scm/__init__.py33
-rw-r--r--src/setuptools_scm/_log.py23
-rw-r--r--testing/test_internal_log_level.py15
3 files changed, 34 insertions, 37 deletions
diff --git a/src/setuptools_scm/__init__.py b/src/setuptools_scm/__init__.py
index faea673..01b3da8 100644
--- a/src/setuptools_scm/__init__.py
+++ b/src/setuptools_scm/__init__.py
@@ -152,26 +152,23 @@ def get_version(
def _get_version(config: Configuration) -> str | None:
- from ._log import magic_debug
-
- with magic_debug():
- parsed_version = _do_parse(config)
- if parsed_version is None:
- return None
- version_string = _format_version(
- parsed_version,
- version_scheme=config.version_scheme,
- local_scheme=config.local_scheme,
+ parsed_version = _do_parse(config)
+ if parsed_version is None:
+ return None
+ version_string = _format_version(
+ parsed_version,
+ version_scheme=config.version_scheme,
+ local_scheme=config.local_scheme,
+ )
+ if config.write_to is not None:
+ dump_version(
+ root=config.root,
+ version=version_string,
+ write_to=config.write_to,
+ template=config.write_to_template,
)
- if config.write_to is not None:
- dump_version(
- root=config.root,
- version=version_string,
- write_to=config.write_to,
- template=config.write_to_template,
- )
- return version_string
+ return version_string
# Public API
diff --git a/src/setuptools_scm/_log.py b/src/setuptools_scm/_log.py
index abbdd0c..1247d46 100644
--- a/src/setuptools_scm/_log.py
+++ b/src/setuptools_scm/_log.py
@@ -9,6 +9,7 @@ import os
import sys
from typing import IO
from typing import Iterator
+from typing import Mapping
log = logging.getLogger(__name__.rsplit(".", 1)[0])
log.propagate = False
@@ -46,19 +47,9 @@ _default_handler = make_default_handler()
log.addHandler(_default_handler)
-def _default_log_level() -> str | int:
- val: str = os.environ.get("SETUPTOOLS_SCM_DEBUG", "")
- level: str | int
- if val:
- level = logging.DEBUG
- levelname: str | int = logging.getLevelName(val)
- if isinstance(levelname, int):
- level = val
- else:
- level = logging.WARNING
- else:
- level = logging.WARNING
- return level
+def _default_log_level(_env: Mapping[str, str] = os.environ) -> int:
+ val: str | None = _env.get("SETUPTOOLS_SCM_DEBUG")
+ return logging.WARN if val is None else logging.DEBUG
log.setLevel(_default_log_level())
@@ -92,9 +83,3 @@ def enable_debug(handler: logging.Handler = _default_handler) -> Iterator[None]:
handler.setLevel(old_handler_level)
if handler is not _default_handler:
log.removeHandler(handler)
-
-
-@contextlib.contextmanager
-def magic_debug() -> Iterator[None]:
- with enable_debug():
- yield
diff --git a/testing/test_internal_log_level.py b/testing/test_internal_log_level.py
new file mode 100644
index 0000000..68ce8e0
--- /dev/null
+++ b/testing/test_internal_log_level.py
@@ -0,0 +1,15 @@
+from __future__ import annotations
+
+import logging
+
+from setuptools_scm import _log
+
+
+def test_log_levels_when_set() -> None:
+ assert _log._default_log_level({"SETUPTOOLS_SCM_DEBUG": ""}) == logging.DEBUG
+ assert _log._default_log_level({"SETUPTOOLS_SCM_DEBUG": "INFO"}) == logging.DEBUG
+ assert _log._default_log_level({"SETUPTOOLS_SCM_DEBUG": "3"}) == logging.DEBUG
+
+
+def test_log_levels_when_unset() -> None:
+ assert _log._default_log_level({}) == logging.WARNING