Skip to content

Commit 847013b

Browse files
committed
Add test case for python package navigations
1 parent a8a3bb6 commit 847013b

File tree

7 files changed

+48
-1
lines changed

7 files changed

+48
-1
lines changed

tests/packages/navigate_editable/pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ dependencies = [
1010
]
1111

1212
[tool.scikit-build]
13-
wheel.packages = ["python/shared_pkg"]
13+
wheel.packages = ["python/shared_pkg", "python/py_pkg"]

tests/packages/navigate_editable/python/py_pkg/__init__.py

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from ..py2_pkg import py2_method_a
2+
3+
__all__ = ["py2_method_a"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from ..py2_pkg import py2_method_b
2+
from ..py2_pkg.py2_module import py2_module_c
3+
4+
__all__ = ["py2_method_b", "py2_module_c"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
def py2_method_a():
2+
print("py2_method_a")
3+
4+
5+
def py2_method_b():
6+
print("py2_method_b")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
def py2_module_c():
2+
print("py2_module_c")

tests/test_editable.py

+32
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,35 @@ def test_navigate_editable(isolated, isolate, package):
4848

4949
value = isolated.execute("import shared_pkg; shared_pkg.read_c_generated_txt()")
5050
assert value == "Some_value_C"
51+
52+
53+
@pytest.mark.compile()
54+
@pytest.mark.configure()
55+
@pytest.mark.integration()
56+
@pytest.mark.parametrize("isolate", [True, False], ids=["isolated", "notisolated"])
57+
@pytest.mark.usefixtures("navigate_editable")
58+
def test_navigate_editable2(isolated, isolate):
59+
isolate_args = ["--no-build-isolation"] if not isolate else []
60+
isolated.install("pip>=23")
61+
if not isolate:
62+
isolated.install("scikit-build-core[pyproject]")
63+
64+
isolated.install(
65+
"-v", "--config-settings=build-dir=build/{wheel_tag}", *isolate_args, "-e", "."
66+
)
67+
68+
# Navigate from py_package to py_package
69+
value = isolated.execute("import py_pkg.py1_pkg; py_pkg.py1_pkg.py2_method_a()")
70+
assert value == "py2_method_a"
71+
72+
# Navigate from py_package.py_module to py_package
73+
value = isolated.execute(
74+
"import py_pkg.py1_pkg.py1_module; py_pkg.py1_pkg.py1_module.py2_method_b()"
75+
)
76+
assert value == "py2_method_b"
77+
78+
# Navigate from py_package.py_module to py_package.py_module
79+
value = isolated.execute(
80+
"import py_pkg.py1_pkg.py1_module; py_pkg.py1_pkg.py1_module.py2_method_c()"
81+
)
82+
assert value == "py2_method_c"

0 commit comments

Comments
 (0)