Removes default visibility in debug mode and updates unit tests for alt_rsmi impl (#2091)

* Update unit tests for alt_rsmi impl

- Create distinct test executable for alt_rsmi testing
- Updated alt_rsmi tests to use public methods
- Compiles alt_rsmi.cc with ARSMI_TEST_BUILD
- Enables external linkage of internal variables
- Only for AltRsmiTests.cpp that manipulates internals
- Clean separation for test behavior

* Address review comments

* restore hidden symbol visibility
This commit is contained in:
Atul Kulkarni
2025-12-17 10:27:00 -08:00
committed by GitHub
parent 2e193aed68
commit 74690ea705
4 changed files with 1313 additions and 15 deletions
File diff suppressed because it is too large Load Diff
+19
View File
@@ -236,6 +236,25 @@ if(BUILD_TESTS)
list(APPEND RCCL_TEST_EXECUTABLES rccl-UnitTestsMPI)
endif()
# rccl-UnitTestsAltRsmi: Uses TEST BUILD alt_rsmi.cc (ARSMI_TEST_BUILD)
# This separate executable compiles alt_rsmi.cc with ARSMI_TEST_BUILD,
# enabling external linkage of internal variables so that
# tests can access and manipulate them for testing.
list(APPEND RCCL_TEST_EXECUTABLES rccl-UnitTestsAltRsmi)
set(TEST_ALTRSMI_SOURCE_FILES
AltRsmiTests.cpp
../src/misc/alt_rsmi.cc
common/main_fixtures.cpp
common/EnvVars.cpp
common/ProcessIsolatedTestRunner.cpp
)
add_executable(rccl-UnitTestsAltRsmi ${TEST_ALTRSMI_SOURCE_FILES})
# Define ARSMI_TEST_BUILD specifically for rccl-UnitTestsAltRsmi
target_compile_definitions(rccl-UnitTestsAltRsmi PRIVATE ARSMI_TEST_BUILD)
endif()
foreach(test_executable IN LISTS RCCL_TEST_EXECUTABLES)