summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2022-01-18 11:19:05 +0100
committerGitHub <noreply@github.com>2022-01-18 11:19:05 +0100
commitc585e20718c478b2639e955ee8cc56186dc1ced1 (patch)
tree82ba1a350b51344b31fd45e41200987c17e3f1ea
parent4a1b43a6810bbcff4e95a132c4cf99896f92af7b (diff)
parente28a7c9adf38772a16115f1c6dac2c90a2be6582 (diff)
downloadsetuptools-scm-6.4.1.tar.gz
Merge pull request #670 from RonnyPfannschmidt/fix-669-get-version-signaturev6.4.1
6.4.0 bugfixes
-rw-r--r--CHANGELOG.rst5
-rw-r--r--src/setuptools_scm/__init__.py22
-rw-r--r--testing/test_basic_api.py9
-rw-r--r--testing/test_integration.py4
4 files changed, 32 insertions, 8 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 537b9ec..e39a66b 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -1,4 +1,9 @@
+v6.4.1
+=======
+
+* fix regression #669: restore get_version signature
+* fix #668: harden the selftest for distribution extras
6.4.0
======
diff --git a/src/setuptools_scm/__init__.py b/src/setuptools_scm/__init__.py
index 4c91a36..eb671f7 100644
--- a/src/setuptools_scm/__init__.py
+++ b/src/setuptools_scm/__init__.py
@@ -111,8 +111,24 @@ def _version_missing(config) -> NoReturn:
)
-@_types.transfer_input_args(Configuration)
-def get_version(**kw) -> str:
+def get_version(
+ root=".",
+ version_scheme=DEFAULT_VERSION_SCHEME,
+ local_scheme=DEFAULT_LOCAL_SCHEME,
+ write_to=None,
+ write_to_template=None,
+ relative_to=None,
+ tag_regex=DEFAULT_TAG_REGEX,
+ parentdir_prefix_version=None,
+ fallback_version=None,
+ fallback_root=".",
+ parse=None,
+ git_describe_command=None,
+ dist_name=None,
+ version_cls=None,
+ normalize=True,
+ search_parent_directories=False,
+):
"""
If supplied, relative_to should be a file from which root may
be resolved. Typically called by a script or module that is not
@@ -120,7 +136,7 @@ def get_version(**kw) -> str:
root of the repository by supplying ``__file__``.
"""
- config = Configuration(**kw)
+ config = Configuration(**locals())
maybe_version = _get_version(config)
if maybe_version is None:
_version_missing(config)
diff --git a/testing/test_basic_api.py b/testing/test_basic_api.py
index bb3b4ed..55bf346 100644
--- a/testing/test_basic_api.py
+++ b/testing/test_basic_api.py
@@ -58,9 +58,12 @@ def test_version_from_scm(wd):
setuptools_scm.version_from_scm(str(wd))
-def test_root_parameter_pass_by(monkeypatch, tmpdir):
- assert_root(monkeypatch, tmpdir)
- setuptools_scm.get_version(root=tmpdir.strpath)
+def test_root_parameter_pass_by(monkeypatch: pytest.MonkeyPatch, tmp_path: Path):
+ assert_root(monkeypatch, os.fspath(tmp_path))
+ setuptools_scm.get_version(root=os.fspath(tmp_path))
+ setuptools_scm.get_version(
+ os.fspath(tmp_path)
+ ) # issue 669 - posarg difference between Configuration and get_version
def test_parentdir_prefix(tmpdir, monkeypatch):
diff --git a/testing/test_integration.py b/testing/test_integration.py
index c0a2297..23d8966 100644
--- a/testing/test_integration.py
+++ b/testing/test_integration.py
@@ -142,11 +142,11 @@ def testwarn_on_broken_setuptools():
@pytest.mark.issue(611)
-def test_provides_toml_exta():
+def test_distribution_procides_extras():
try:
from importlib.metadata import distribution
except ImportError:
from importlib_metadata import distribution
dist = distribution("setuptools_scm")
- assert "toml" in dist.metadata["Provides-Extra"]
+ assert sorted(dist.metadata.get_all("Provides-Extra")) == ["test", "toml"]