1- from os import listdir
1+ import contextlib
2+ from os import listdir , remove
23from pathlib import Path
3- from shutil import rmtree
44from subprocess import check_call
55from sys import modules , path , platform
6+ from sysconfig import get_config_var
67
78import pytest
89
@@ -24,9 +25,17 @@ class TestProject:
2425 ],
2526 )
2627 def test_basic (self , project ):
28+
29+ suffix_ext = get_config_var ("EXT_SUFFIX" )
30+
2731 # cleanup
28- rmtree (f"hatch_cpp/tests/{ project } /project/extension.so" , ignore_errors = True )
29- rmtree (f"hatch_cpp/tests/{ project } /project/extension.pyd" , ignore_errors = True )
32+ with contextlib .suppress (FileNotFoundError ):
33+ remove (f"hatch_cpp/tests/{ project } /project/extension.so" )
34+ with contextlib .suppress (FileNotFoundError ):
35+ remove (f"hatch_cpp/tests/{ project } /project/extension.pyd" )
36+ with contextlib .suppress (FileNotFoundError ):
37+ remove (f"hatch_cpp/tests/{ project } /project/extension{ suffix_ext } " )
38+
3039 modules .pop ("project" , None )
3140 modules .pop ("project.extension" , None )
3241
@@ -40,14 +49,14 @@ def test_basic(self, project):
4049 )
4150
4251 # assert built
43-
52+ project_dir_content = listdir ( f"hatch_cpp/tests/ { project } /project" )
4453 if project == "test_project_limited_api" and platform != "win32" :
45- assert "extension.abi3.so" in listdir ( f"hatch_cpp/tests/ { project } /project" )
54+ assert "extension.abi3.so" in project_dir_content
4655 else :
4756 if platform == "win32" :
48- assert "extension.pyd" in listdir ( f"hatch_cpp/tests/ { project } /project" )
57+ assert "extension.pyd" in project_dir_content or f"extension { suffix_ext } " in project_dir_content
4958 else :
50- assert "extension.so" in listdir ( f"hatch_cpp/tests/ { project } /project" )
59+ assert "extension.so" in project_dir_content or f"extension { suffix_ext } " in project_dir_content
5160
5261 # import
5362 here = Path (__file__ ).parent / project
0 commit comments