Clean Tests

This commit is contained in:
2025-12-15 21:20:30 +05:30
parent 71d83859f5
commit 1b24256653
21 changed files with 1224 additions and 1396 deletions

View File

@ -1,62 +1,37 @@
set(TEST_NAME_PREFIX "IACore_Test_Unit_")
# ------------------------------------------------
# C Compile Test
# C Compile Test (Keep separate to verify C ABI)
# ------------------------------------------------
add_executable(${TEST_NAME_PREFIX}CCompile "CCompile.c")
set_target_properties(${TEST_NAME_PREFIX}CCompile PROPERTIES
add_executable(IACore_Test_C_ABI "CCompile.c")
set_target_properties(IACore_Test_C_ABI PROPERTIES
C_STANDARD 99
C_STANDARD_REQUIRED ON
LINKER_LANGUAGE C
)
target_link_libraries(${TEST_NAME_PREFIX}CCompile PRIVATE IACore)
## ------------------------------------------------
## Unit: BinaryReader
## ------------------------------------------------
#add_executable(${TEST_NAME_PREFIX}BinaryReader "BinaryReader.cpp")
#target_link_libraries(${TEST_NAME_PREFIX}BinaryReader PRIVATE IACore)
#target_compile_options(${TEST_NAME_PREFIX}BinaryReader PRIVATE -fexceptions)
#set_target_properties(${TEST_NAME_PREFIX}BinaryReader PROPERTIES USE_EXCEPTIONS ON)
#
## ------------------------------------------------
## Unit: BinaryWriter
## ------------------------------------------------
#add_executable(${TEST_NAME_PREFIX}BinaryWriter "BinaryWriter.cpp")
#target_link_libraries(${TEST_NAME_PREFIX}BinaryWriter PRIVATE IACore)
#target_compile_options(${TEST_NAME_PREFIX}BinaryWriter PRIVATE -fexceptions)
#set_target_properties(${TEST_NAME_PREFIX}BinaryWriter PROPERTIES USE_EXCEPTIONS ON)
target_link_libraries(IACore_Test_C_ABI PRIVATE IACore)
# ------------------------------------------------
# Unit: Environment
# The Unified C++ Test Suite
# ------------------------------------------------
add_executable(${TEST_NAME_PREFIX}Environment "Environment.cpp")
target_link_libraries(${TEST_NAME_PREFIX}Environment PRIVATE IACore)
target_compile_options(${TEST_NAME_PREFIX}Environment PRIVATE -fexceptions)
set_target_properties(${TEST_NAME_PREFIX}Environment PROPERTIES USE_EXCEPTIONS ON)
set(TEST_SOURCES
Main.cpp
Utils.cpp
Environment.cpp
ProcessOps.cpp
StreamReader.cpp
RingBuffer.cpp
)
# ------------------------------------------------
# Unit: FileOps
# ------------------------------------------------
#add_executable(${TEST_NAME_PREFIX}FileOps "FileOps.cpp")
#target_link_libraries(${TEST_NAME_PREFIX}FileOps PRIVATE IACore)
#target_compile_options(${TEST_NAME_PREFIX}FileOps PRIVATE -fexceptions)
#set_target_properties(${TEST_NAME_PREFIX}FileOps PROPERTIES USE_EXCEPTIONS ON)
add_executable(IACore_Test_Suite ${TEST_SOURCES})
# ------------------------------------------------
# Unit: ProcessOps
# ------------------------------------------------
add_executable(${TEST_NAME_PREFIX}ProcessOps "ProcessOps.cpp")
target_link_libraries(${TEST_NAME_PREFIX}ProcessOps PRIVATE IACore)
target_compile_options(${TEST_NAME_PREFIX}ProcessOps PRIVATE -fexceptions)
set_target_properties(${TEST_NAME_PREFIX}ProcessOps PROPERTIES USE_EXCEPTIONS ON)
# Enable exceptions for testing framework (even if Core is no-except)
target_compile_options(IACore_Test_Suite PRIVATE -fexceptions)
set_target_properties(IACore_Test_Suite PROPERTIES USE_EXCEPTIONS ON)
# ------------------------------------------------
# Unit: Utils
# ------------------------------------------------
add_executable(${TEST_NAME_PREFIX}Utils "Utils.cpp")
target_link_libraries(${TEST_NAME_PREFIX}Utils PRIVATE IACore)
target_compile_options(${TEST_NAME_PREFIX}Utils PRIVATE -fexceptions)
set_target_properties(${TEST_NAME_PREFIX}Utils PROPERTIES USE_EXCEPTIONS ON)
target_link_libraries(IACore_Test_Suite PRIVATE IACore)
# Copy necessary runtime assets if you have them (like the LongProcess test subject)
add_custom_command(TARGET IACore_Test_Suite POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:LongProcess>
$<TARGET_FILE_DIR:IACore_Test_Suite>/LongProcess${CMAKE_EXECUTABLE_SUFFIX}
)