Skip to content

Commit f3c9a30

Browse files
simplify integration invocations in the integration tests
1 parent 402fc25 commit f3c9a30

File tree

1 file changed

+22
-39
lines changed

1 file changed

+22
-39
lines changed

testing/test_integration.py

Lines changed: 22 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616

1717
from packaging.version import Version
1818

19-
import setuptools_scm._integration.setuptools
20-
19+
from setuptools_scm._integration import setuptools as setuptools_integration
2120
from setuptools_scm._requirement_cls import extract_package_name
2221

2322
if TYPE_CHECKING:
@@ -645,7 +644,9 @@ def test_unicode_in_setup_cfg(tmp_path: Path) -> None:
645644
),
646645
encoding="utf-8",
647646
)
648-
name = setuptools_scm._integration.setup_cfg.read_dist_name_from_setup_cfg(cfg)
647+
from setuptools_scm._integration.setup_cfg import read_dist_name_from_setup_cfg
648+
649+
name = read_dist_name_from_setup_cfg(cfg)
649650
assert name == "configparser"
650651

651652

@@ -657,10 +658,10 @@ def test_setuptools_version_keyword_ensures_regex(
657658
wd("git tag 1.0")
658659
monkeypatch.chdir(wd.cwd)
659660

660-
from setuptools_scm._integration.setuptools import version_keyword
661-
662661
dist = create_clean_distribution("test")
663-
version_keyword(dist, "use_scm_version", {"tag_regex": "(1.0)"})
662+
setuptools_integration.version_keyword(
663+
dist, "use_scm_version", {"tag_regex": "(1.0)"}
664+
)
664665
assert dist.metadata.version == "1.0"
665666

666667

@@ -938,43 +939,32 @@ def create_clean_distribution(name: str) -> setuptools.Distribution:
938939
return dist
939940

940941

941-
# Helper functions for testing integration point ordering
942-
def integration_infer_version(dist: setuptools.Distribution) -> str:
943-
"""Helper to call infer_version and return the result."""
944-
from setuptools_scm._integration.setuptools import infer_version
945-
946-
infer_version(dist)
947-
return "infer_version"
948-
949-
950-
def integration_version_keyword_default(dist: setuptools.Distribution) -> str:
942+
def version_keyword_default(dist: setuptools.Distribution) -> None:
951943
"""Helper to call version_keyword with default config and return the result."""
952-
from setuptools_scm._integration.setuptools import version_keyword
953944

954-
version_keyword(dist, "use_scm_version", True)
955-
return "version_keyword_default"
945+
setuptools_integration.version_keyword(dist, "use_scm_version", True)
956946

957947

958-
def integration_version_keyword_calver(dist: setuptools.Distribution) -> str:
948+
def version_keyword_calver(dist: setuptools.Distribution) -> None:
959949
"""Helper to call version_keyword with calver-by-date scheme and return the result."""
960-
from setuptools_scm._integration.setuptools import version_keyword
961950

962-
version_keyword(dist, "use_scm_version", {"version_scheme": "calver-by-date"})
963-
return "version_keyword_calver"
951+
setuptools_integration.version_keyword(
952+
dist, "use_scm_version", {"version_scheme": "calver-by-date"}
953+
)
964954

965955

966956
# Test cases: (first_func, second_func, expected_final_version)
967957
# We use a controlled date to make calver deterministic
968958
TEST_CASES = [
969959
# Real-world scenarios: infer_version and version_keyword can be called in either order
970-
(integration_infer_version, integration_version_keyword_default, "1.0.1.dev1"),
960+
(setuptools_integration.infer_version, version_keyword_default, "1.0.1.dev1"),
971961
(
972-
integration_infer_version,
973-
integration_version_keyword_calver,
962+
setuptools_integration.infer_version,
963+
version_keyword_calver,
974964
"9.2.13.0.dev1",
975965
), # calver should win but doesn't
976-
(integration_version_keyword_default, integration_infer_version, "1.0.1.dev1"),
977-
(integration_version_keyword_calver, integration_infer_version, "9.2.13.0.dev1"),
966+
(version_keyword_default, setuptools_integration.infer_version, "1.0.1.dev1"),
967+
(version_keyword_calver, setuptools_integration.infer_version, "9.2.13.0.dev1"),
978968
]
979969

980970

@@ -1010,31 +1000,24 @@ def test_integration_function_call_order(
10101000
wd.commit_testfile("test2") # Add another commit to get distance
10111001
monkeypatch.chdir(wd.cwd)
10121002

1013-
# Generate unique distribution name based on the test combination
1014-
first_name = first_integration.__name__.replace("integration_", "")
1015-
second_name = second_integration.__name__.replace("integration_", "")
1016-
dist_name = f"test-pkg-{first_name}-then-{second_name}"
1017-
10181003
# Create a pyproject.toml file
10191004
pyproject_content = f"""
10201005
[build-system]
10211006
requires = ["setuptools", "setuptools_scm"]
10221007
build-backend = "setuptools.build_meta"
10231008
10241009
[project]
1025-
name = "{dist_name}"
1010+
name = "test-pkg-{first_integration.__name__}-{second_integration.__name__}"
10261011
dynamic = ["version"]
10271012
10281013
[tool.setuptools_scm]
10291014
local_scheme = "no-local-version"
10301015
"""
10311016
wd.write("pyproject.toml", pyproject_content)
10321017

1033-
import setuptools
1034-
1035-
# Create distribution and clear any auto-set version
1036-
dist = setuptools.Distribution({"name": dist_name})
1037-
dist.metadata.version = None
1018+
dist = create_clean_distribution(
1019+
f"test-pkg-{first_integration.__name__}-{second_integration.__name__}"
1020+
)
10381021

10391022
# Call both integration functions in order
10401023
first_integration(dist)

0 commit comments

Comments
 (0)