@@ -30,6 +30,12 @@ def test_all_libnames_expected_lib_symbols_consistency():
3030 assert tuple (sorted (ALL_LIBNAMES )) == tuple (sorted (supported_libs .EXPECTED_LIB_SYMBOLS .keys ()))
3131
3232
33+ def _check_nvjitlink_usable ():
34+ from cuda .bindings ._internal import nvjitlink as inner_nvjitlink
35+
36+ return inner_nvjitlink ._inspect_function_pointer ("__nvJitLinkVersion" ) != 0
37+
38+
3339def _build_subprocess_failed_for_libname_message (libname , result ):
3440 return (
3541 f"Subprocess failed for { libname = !r} with exit code { result .returncode } \n "
@@ -38,15 +44,9 @@ def _build_subprocess_failed_for_libname_message(libname, result):
3844 )
3945
4046
41- def _check_nvjitlink_usable ():
42- from cuda .bindings ._internal import nvjitlink as inner_nvjitlink
43-
44- return inner_nvjitlink ._inspect_function_pointer ("__nvJitLinkVersion" ) != 0
45-
46-
4747@pytest .mark .parametrize ("api" , ("find" , "load" ))
4848@pytest .mark .parametrize ("libname" , TEST_LIBNAMES )
49- def test_find_or_load_nvidia_dynamic_library (api , libname ):
49+ def test_find_or_load_nvidia_dynamic_library (info_summary_append , api , libname ):
5050 if sys .platform == "win32" and not supported_libs .SUPPORTED_WINDOWS_DLLS [libname ]:
5151 pytest .skip (f"{ libname = !r} not supported on { sys .platform = } " )
5252
@@ -56,7 +56,8 @@ def test_find_or_load_nvidia_dynamic_library(api, libname):
5656 if api == "find" :
5757 code = f"""\
5858 from cuda.bindings._path_finder.find_nvidia_dynamic_library import find_nvidia_dynamic_library
59- find_nvidia_dynamic_library({ libname !r} )
59+ abs_path = find_nvidia_dynamic_library({ libname !r} )
60+ print(f"{{abs_path!r}}")
6061"""
6162 else :
6263 code = f"""\
@@ -76,12 +77,16 @@ def test_find_or_load_nvidia_dynamic_library(api, libname):
7677 raise RuntimeError("loaded_dl_no_cache.was_already_loaded_from_elsewhere")
7778if loaded_dl_no_cache.abs_path != loaded_dl_fresh.abs_path:
7879 raise RuntimeError(f"{{loaded_dl_no_cache.abs_path=!r}} != {{loaded_dl_fresh.abs_path=!r}}")
80+
81+ print(f"{{loaded_dl_fresh.abs_path!r}}")
7982"""
8083 result = subprocess .run ( # nosec B603
8184 [sys .executable , "-c" , code ],
8285 stdout = subprocess .PIPE ,
8386 stderr = subprocess .PIPE ,
8487 encoding = "utf-8" ,
8588 )
86- if result .returncode != 0 :
89+ if result .returncode == 0 :
90+ info_summary_append (f"abs_path={ result .stdout .rstrip ()} " )
91+ else :
8792 raise RuntimeError (_build_subprocess_failed_for_libname_message (libname , result ))
0 commit comments