Skip to content

Commit f0a1b78

Browse files
committed
tests: isolate toolchain environment changes
1 parent ee3b780 commit f0a1b78

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

‎cuda_bindings/tests/test_build_hooks.py‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,20 @@ def _load_build_hooks():
3939
build_hooks = _load_build_hooks()
4040

4141

42+
@pytest.fixture(autouse=True)
43+
def _isolate_toolchain_env():
44+
names = ("CUDA_PYTHON_TOOLCHAIN", "CC", "CXX", "LDSHARED")
45+
original = {name: os.environ[name] for name in names if name in os.environ}
46+
for name in names:
47+
os.environ.pop(name, None)
48+
try:
49+
yield
50+
finally:
51+
for name in names:
52+
os.environ.pop(name, None)
53+
os.environ.update(original)
54+
55+
4256
class TestResolveToolchain:
4357
"""_resolve_toolchain: pick compiler/linker/flags from CUDA_PYTHON_TOOLCHAIN.
4458

‎cuda_core/tests/test_build_hooks.py‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,20 @@ def _load_build_hooks():
5555
build_hooks = _load_build_hooks()
5656

5757

58+
@pytest.fixture(autouse=True)
59+
def _isolate_toolchain_env():
60+
names = ("CUDA_PYTHON_TOOLCHAIN", "CC", "CXX", "LDSHARED")
61+
original = {name: os.environ[name] for name in names if name in os.environ}
62+
for name in names:
63+
os.environ.pop(name, None)
64+
try:
65+
yield
66+
finally:
67+
for name in names:
68+
os.environ.pop(name, None)
69+
os.environ.update(original)
70+
71+
5872
@pytest.mark.agent_authored(model="gpt-5.6")
5973
def test_cuda_path_is_resolved_before_importing_bindings(monkeypatch):
6074
"""PEP 517 namespace repair runs before cuda.bindings is imported."""

0 commit comments

Comments
 (0)