From 3c451e3cd856a4836989563efd5099dc6aedd085 Mon Sep 17 00:00:00 2001 From: nanako <469449812@qq.com> Date: Tue, 4 Nov 2025 13:20:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95=E6=94=AF?= =?UTF-8?q?=E6=8C=81=EF=BC=8C=E9=87=8D=E6=9E=84CMake=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E8=BF=9B=E7=A8=8B=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=99=A8=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 3 + tests/CMakeLists.txt | 259 +++--------------- tests/cmake/test_helpers.cmake | 49 ++++ tests/{shm => }/helpers/custom_assertions.h | 0 tests/{shm => }/helpers/performance_timer.h | 0 tests/{shm => }/helpers/test_environment.h | 0 tests/network/CMakeLists.txt | 22 ++ ...t_zmq_rpc.cpp => test_network_zmq_rpc.cpp} | 0 tests/process_manager/CMakeLists.txt | 101 ++----- ...r.cpp => test_process_manager_manager.cpp} | 0 ...r.cpp => test_process_manager_monitor.cpp} | 0 tests/shm/CMakeLists.txt | 58 ++++ tests/shm/test_interprocess_sync.cpp | 4 +- tests/shm/test_lock_free_ring_buffer.cpp | 6 +- tests/shm/test_shared_memory_manager.cpp | 6 +- tests/shm/test_triple_buffer.cpp | 4 +- tests/simd/CMakeLists.txt | 27 ++ .../test_simd_audio_processing.cpp} | 0 .../test_simd_basic.cpp} | 0 19 files changed, 230 insertions(+), 309 deletions(-) create mode 100644 tests/cmake/test_helpers.cmake rename tests/{shm => }/helpers/custom_assertions.h (100%) rename tests/{shm => }/helpers/performance_timer.h (100%) rename tests/{shm => }/helpers/test_environment.h (100%) create mode 100644 tests/network/CMakeLists.txt rename tests/network/{test_zmq_rpc.cpp => test_network_zmq_rpc.cpp} (100%) rename tests/process_manager/{test_process_manager.cpp => test_process_manager_manager.cpp} (100%) rename tests/process_manager/{test_process_monitor.cpp => test_process_manager_monitor.cpp} (100%) create mode 100644 tests/shm/CMakeLists.txt create mode 100644 tests/simd/CMakeLists.txt rename tests/{test_audio_processing_comprehensive.cpp => simd/test_simd_audio_processing.cpp} (100%) rename tests/{test_simd.cpp => simd/test_simd_basic.cpp} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 33501e8..de79c6d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,4 +47,7 @@ add_subdirectory(src/simd) add_subdirectory(src/process_manager) add_subdirectory(src/host_sandbox) add_subdirectory(src/engine) +# 启用测试支持 +enable_testing() + add_subdirectory(tests) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 8acbc4a..e756c4e 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,241 +1,52 @@ cmake_minimum_required(VERSION 3.20) -find_package(gtest CONFIG REQUIRED) +# 查找 GoogleTest +find_package(GTest CONFIG REQUIRED) # 启用测试 enable_testing() -# ======================================== -# 通用测试配置函数 -# ======================================== -function(add_simple_test source_file link_lib) - get_filename_component(test_name ${source_file} NAME_WE) - add_executable(${test_name} ${source_file}) - target_link_libraries(${test_name} - PRIVATE - GTest::gtest - GTest::gtest_main - audio_backend_project_options - ${link_lib} - ) - - # 编译选项 - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - target_compile_options(${test_name} PRIVATE - $<$:-g -O0> - $<$:/Od /Zi> - ) - else() - target_compile_options(${test_name} PRIVATE - $<$:-O2> - $<$:/O2> - ) - endif() - - # 添加到 CTest - add_test(NAME ${test_name} COMMAND ${test_name}) - set_tests_properties(${test_name} PROPERTIES TIMEOUT 300) - - message(STATUS "添加测试: ${test_name}") -endfunction() +# 引入测试辅助函数 +include(cmake/test_helpers.cmake) -# ======================================== -# SIMD 模块测试 -# ======================================== -message(STATUS "配置 SIMD 模块测试...") -add_simple_test(test_simd.cpp alicho_simd) -add_simple_test(test_audio_processing_comprehensive.cpp alicho_simd) +# 添加各测试模块 +add_subdirectory(simd) +add_subdirectory(network) +add_subdirectory(shm) +add_subdirectory(process_manager) -# ======================================== -# SHM 模块测试 -# ======================================== -message(STATUS "配置 SHM 模块测试...") - -# 确保 Boost::interprocess 可用 -find_package(Boost COMPONENTS interprocess CONFIG REQUIRED) - -# 辅助工具目录 -set(SHM_HELPERS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/shm/helpers) - -# ======================================== -# SHM 测试辅助函数 -# ======================================== -function(add_shm_test source_file test_target_name) - add_executable(${test_target_name} ${source_file}) - - target_link_libraries(${test_target_name} - PRIVATE - GTest::gtest - GTest::gtest_main - alicho_network - alicho_misc - Boost::interprocess - audio_backend_project_options - ) - - target_include_directories(${test_target_name} - PRIVATE - ${SHM_HELPERS_DIR} - ) - - # 编译选项 - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - target_compile_options(${test_target_name} PRIVATE - $<$:-g -O0> - $<$:/Od /Zi> - ) - else() - target_compile_options(${test_target_name} PRIVATE - $<$:-O2> - $<$:/O2> - ) - endif() - - # 添加到 CTest - add_test(NAME ${test_target_name} COMMAND ${test_target_name}) - set_tests_properties(${test_target_name} PROPERTIES TIMEOUT 300) - - message(STATUS "添加 SHM 测试: ${test_target_name}") -endfunction() - -# ======================================== -# 创建各个 SHM 测试可执行文件 -# ======================================== -add_shm_test( - shm/test_shared_memory_manager.cpp - test_shm_shared_memory_manager -) - -add_shm_test( - shm/test_lock_free_ring_buffer.cpp - test_shm_lock_free_ring_buffer -) - -add_shm_test( - shm/test_triple_buffer.cpp - test_shm_triple_buffer -) - -add_shm_test( - shm/test_interprocess_sync.cpp - test_shm_interprocess_sync -) - -# ======================================== -# 自定义目标:运行所有 SHM 测试 -# ======================================== -add_custom_target(run_all_shm_tests - COMMAND ${CMAKE_CTEST_COMMAND} -R "test_shm_" --output-on-failure +# 自定义目标:运行所有测试 +add_custom_target(run_all_tests + COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure DEPENDS + # SIMD 测试 + test_simd_basic + test_simd_audio_processing + # Network 测试 + test_network_zmq_rpc + # SHM 测试 test_shm_shared_memory_manager test_shm_lock_free_ring_buffer test_shm_triple_buffer test_shm_interprocess_sync + # Process Manager 测试 + test_process_manager_manager + test_process_manager_monitor WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMENT "运行所有 SHM 模块测试" + COMMENT "运行所有模块测" ) -message(STATUS "SHM 测试配置完成") -message(STATUS " - test_shm_shared_memory_manager") -message(STATUS " - test_shm_lock_free_ring_buffer") -message(STATUS " - test_shm_triple_buffer") -message(STATUS " - test_shm_interprocess_sync") -message(STATUS "使用 'make run_all_shm_tests' 或 'cmake --build . --target run_all_shm_tests' 运行所有 SHM 测试") - -# ======================================== -# ZMQ RPC 模块测试 -# ======================================== -message(STATUS "配置 ZMQ RPC 模块测试...") - -# 确保 ZMQ 和相关依赖可用 -find_package(cppzmq CONFIG REQUIRED) - -# ZMQ RPC 测试辅助函数 -function(add_zmq_rpc_test source_file test_target_name) - add_executable(${test_target_name} ${source_file}) - - target_link_libraries(${test_target_name} - PRIVATE - GTest::gtest - GTest::gtest_main - alicho_network - alicho_misc - cppzmq - audio_backend_project_options - ) - - # 编译选项 - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - target_compile_options(${test_target_name} PRIVATE - $<$:-g -O0> - $<$:/Od /Zi> - ) - else() - target_compile_options(${test_target_name} PRIVATE - $<$:-O2> - $<$:/O2> - ) - endif() - - # 添加到 CTest - add_test(NAME ${test_target_name} COMMAND ${test_target_name}) - set_tests_properties(${test_target_name} PROPERTIES TIMEOUT 300) - - message(STATUS "加 ZMQ RPC 测试: ${test_target_name}") -endfunction() - -# 创建 ZMQ RPC 测试可执行文件 -add_zmq_rpc_test( - network/test_zmq_rpc.cpp - test_zmq_rpc -) - -# 自定义目标:运行所有 ZMQ RPC 测试 -add_custom_target(run_all_zmq_rpc_tests - COMMAND ${CMAKE_CTEST_COMMAND} -R "test_zmq_rpc" --output-on-failure - DEPENDS test_zmq_rpc - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMENT "运行所有 ZMQ RPC 模块测试" -) - -message(STATUS "ZMQ RPC 测试配置完成") -message(STATUS " - test_zmq_rpc") -message(STATUS "使用 'make run_all_zmq_rpc_tests' 或 'cmake --build . --target run_all_zmq_rpc_tests' 运行所有 ZMQ RPC 测试") - -# ======================================== -# Process Manager 模块测试 -# ======================================== -message(STATUS "配置 Process Manager 模块测试...") - -# 添加 Process Manager 测试子目录 -add_subdirectory(process_manager) - -message(STATUS "Process Manager 测试配置完成") -message(STATUS " - test_process_manager") -message(STATUS " - test_process_monitor") -message(STATUS "使用 'make run_all_process_manager_tests' 或 'cmake --build . --target run_all_process_manager_tests' 运行所有 Process Manager 测试") - -# ======================================== -# 测试总结 -# ======================================== -message(STATUS "") -message(STATUS "========================================") -message(STATUS "测试配置总结") -message(STATUS "========================================") -message(STATUS "GoogleTest 版本: v1.14.0 (通过 FetchContent)") -message(STATUS "CTest 已启用") -message(STATUS "测试超时设置: 300 秒") -message(STATUS "") -message(STATUS "已配置的测试模块:") -message(STATUS " - SIMD 模块测试 (2 个测试)") -message(STATUS " - SHM 模块测试 (4 个测试)") -message(STATUS " - ZMQ RPC 模块测试 (1 个测试)") -message(STATUS " - Process Manager 模块测试 (2 个测试)") -message(STATUS "") -message(STATUS "运行测试命令:") -message(STATUS " - 所有测试: ctest 或 cmake --build . --target test") -message(STATUS " - SHM 测试: make run_all_shm_tests") -message(STATUS " - ZMQ RPC 测试: make run_all_zmq_rpc_tests") -message(STATUS " - Process Manager 测试: make run_all_process_manager_tests") -message(STATUS "========================================") +# 测试配置总结 +message(STATUS "===================================") +message(STATUS "测试配置完成") +message(STATUS "可用的测试目标:") +message(STATUS " - run_all_tests : 运行所有测试") +message(STATUS " - run_simd_tests : 运行 SIMD 测试") +message(STATUS " - run_network_tests : 运行 Network 测试") +message(STATUS " - run_shm_tests : 运行 SHM 测试") +message(STATUS " - run_process_manager_tests : 运行 Process Manager 测试") message(STATUS "") +message(STATUS "运行测试命令:") +message(STATUS " - ctest --output-on-failure") +message(STATUS " - make run_all_tests") +message(STATUS "===================================") diff --git a/tests/cmake/test_helpers.cmake b/tests/cmake/test_helpers.cmake new file mode 100644 index 0000000..8b4aeac --- /dev/null +++ b/tests/cmake/test_helpers.cmake @@ -0,0 +1,49 @@ +# 通用测试添加函数 +function(add_module_test) + # 参数解析 + set(options "") + set(oneValueArgs TARGET SOURCE_FILE MODULE) + set(multiValueArgs LINK_LIBRARIES INCLUDE_DIRS DEFINITIONS) + cmake_parse_arguments(TEST "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + # 创建可执行文件 + add_executable(${TEST_TARGET} ${TEST_SOURCE_FILE}) + + # 链接库 + target_link_libraries(${TEST_TARGET} + PRIVATE + GTest::gtest + GTest::gtest_main + audio_backend_project_options + ${TEST_LINK_LIBRARIES} + ) + + # 包含目录 + if(TEST_INCLUDE_DIRS) + target_include_directories(${TEST_TARGET} PRIVATE ${TEST_INCLUDE_DIRS}) + endif() + + # 预处理器定义 + if(TEST_DEFINITIONS) + target_compile_definitions(${TEST_TARGET} PRIVATE ${TEST_DEFINITIONS}) + endif() + + # 编译选项(统一配置) + if(CMAKE_BUILD_TYPE STREQUAL "Debug") + target_compile_options(${TEST_TARGET} PRIVATE + $<$:-g -O0> + $<$:/Od /Zi> + ) + else() + target_compile_options(${TEST_TARGET} PRIVATE + $<$:-O2> + $<$:/O2> + ) + endif() + + # 添加到 CTest + add_test(NAME ${TEST_TARGET} COMMAND ${TEST_TARGET}) + set_tests_properties(${TEST_TARGET} PROPERTIES TIMEOUT 300) + + message(STATUS "添加 ${TEST_MODULE} 测试: ${TEST_TARGET}") +endfunction() \ No newline at end of file diff --git a/tests/shm/helpers/custom_assertions.h b/tests/helpers/custom_assertions.h similarity index 100% rename from tests/shm/helpers/custom_assertions.h rename to tests/helpers/custom_assertions.h diff --git a/tests/shm/helpers/performance_timer.h b/tests/helpers/performance_timer.h similarity index 100% rename from tests/shm/helpers/performance_timer.h rename to tests/helpers/performance_timer.h diff --git a/tests/shm/helpers/test_environment.h b/tests/helpers/test_environment.h similarity index 100% rename from tests/shm/helpers/test_environment.h rename to tests/helpers/test_environment.h diff --git a/tests/network/CMakeLists.txt b/tests/network/CMakeLists.txt new file mode 100644 index 0000000..5a61f05 --- /dev/null +++ b/tests/network/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 3.20) + +message(STATUS "配置 Network 模块测试...") + +# 查找依赖 +find_package(cppzmq CONFIG REQUIRED) + +# ZMQ RPC 测试 +add_module_test( + TARGET test_network_zmq_rpc + SOURCE_FILE test_network_zmq_rpc.cpp + MODULE "Network" + LINK_LIBRARIES alicho_network alicho_misc cppzmq +) + +# 自定义目标:运行 Network 测试 +add_custom_target(run_network_tests + COMMAND ${CMAKE_CTEST_COMMAND} -R "test_network_" --output-on-failure + DEPENDS test_network_zmq_rpc + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "运行 Network 模块测试" +) \ No newline at end of file diff --git a/tests/network/test_zmq_rpc.cpp b/tests/network/test_network_zmq_rpc.cpp similarity index 100% rename from tests/network/test_zmq_rpc.cpp rename to tests/network/test_network_zmq_rpc.cpp diff --git a/tests/process_manager/CMakeLists.txt b/tests/process_manager/CMakeLists.txt index d582f0d..1bad2b5 100644 --- a/tests/process_manager/CMakeLists.txt +++ b/tests/process_manager/CMakeLists.txt @@ -1,89 +1,40 @@ cmake_minimum_required(VERSION 3.20) -# ======================================== -# Process Manager 模块测试配置 -# ======================================== message(STATUS "配置 Process Manager 模块测试...") -# 确保所需依赖可用 +# 查找依赖 find_package(Boost COMPONENTS system filesystem thread chrono process CONFIG REQUIRED) find_package(spdlog REQUIRED) find_package(fmt REQUIRED) -# ======================================== -# Process Manager 测试辅助函数 -# ======================================== -function(add_process_manager_test source_file test_target_name) - add_executable(${test_target_name} ${source_file}) - - target_link_libraries(${test_target_name} - PRIVATE - GTest::gtest - GTest::gtest_main - alicho_process_manager - alicho_misc - Boost::boost - Boost::system - Boost::filesystem - Boost::thread - Boost::chrono - spdlog::spdlog - fmt::fmt - audio_backend_project_options - ) - - # 编译选项 - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - target_compile_options(${test_target_name} PRIVATE - $<$:-g -O0> - $<$:/Od /Zi> - ) - else() - target_compile_options(${test_target_name} PRIVATE - $<$:-O2> - $<$:/O2> - ) - endif() - - # 添加预处理器定义 - target_compile_definitions(${test_target_name} - PRIVATE - PROCESS_MANAGER_LOG_MODULE="process_manager_test" - ) - - # 添加到 CTest - add_test(NAME ${test_target_name} COMMAND ${test_target_name}) - set_tests_properties(${test_target_name} PROPERTIES TIMEOUT 300) - - message(STATUS "添加 Process Manager 测试: ${test_target_name}") -endfunction() - -# ======================================== -# 创建各个 Process Manager 测试可执行文件 -# ======================================== -add_process_manager_test( - test_process_manager.cpp - test_process_manager +# Process Manager 测试 +add_module_test( + TARGET test_process_manager_manager + SOURCE_FILE test_process_manager_manager.cpp + MODULE "ProcessManager" + LINK_LIBRARIES + alicho_process_manager alicho_misc + Boost::system Boost::filesystem Boost::thread Boost::chrono + spdlog::spdlog fmt::fmt + DEFINITIONS PROCESS_MANAGER_LOG_MODULE="process_manager_test" ) -add_process_manager_test( - test_process_monitor.cpp - test_process_monitor +# Process Monitor 测试 +add_module_test( + TARGET test_process_manager_monitor + SOURCE_FILE test_process_manager_monitor.cpp + MODULE "ProcessManager" + LINK_LIBRARIES + alicho_process_manager alicho_misc + Boost::system Boost::filesystem Boost::thread Boost::chrono + spdlog::spdlog fmt::fmt + DEFINITIONS PROCESS_MANAGER_LOG_MODULE="process_manager_test" ) -# ======================================== -# 自定义目标:运行所有 Process Manager 测试 -# ======================================== -add_custom_target(run_all_process_manager_tests - COMMAND ${CMAKE_CTEST_COMMAND} -R "test_process_manager" --output-on-failure - DEPENDS - test_process_manager - test_process_monitor +# 自定义目标:运行 Process Manager 测试 +add_custom_target(run_process_manager_tests + COMMAND ${CMAKE_CTEST_COMMAND} -R "test_process_manager_" --output-on-failure + DEPENDS test_process_manager_manager test_process_manager_monitor WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMENT "运行所有 Process Manager 模块测试" + COMMENT "运行 Process Manager 模块测试" ) - -message(STATUS "Process Manager 测试配置完成") -message(STATUS " - test_process_manager") -message(STATUS " - test_process_monitor") -message(STATUS "使用 'make run_all_process_manager_tests' 或 'cmake --build . --target run_all_process_manager_tests' 运行所有 Process Manager 测试") \ No newline at end of file diff --git a/tests/process_manager/test_process_manager.cpp b/tests/process_manager/test_process_manager_manager.cpp similarity index 100% rename from tests/process_manager/test_process_manager.cpp rename to tests/process_manager/test_process_manager_manager.cpp diff --git a/tests/process_manager/test_process_monitor.cpp b/tests/process_manager/test_process_manager_monitor.cpp similarity index 100% rename from tests/process_manager/test_process_monitor.cpp rename to tests/process_manager/test_process_manager_monitor.cpp diff --git a/tests/shm/CMakeLists.txt b/tests/shm/CMakeLists.txt new file mode 100644 index 0000000..da6559b --- /dev/null +++ b/tests/shm/CMakeLists.txt @@ -0,0 +1,58 @@ +cmake_minimum_required(VERSION 3.20) + +message(STATUS "配置 SHM 模块测试...") + +# 查找依赖 +find_package(Boost COMPONENTS interprocess CONFIG REQUIRED) + +# 设置辅助工具目录 +set(SHM_HELPERS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/helpers) +set(GLOBAL_HELPERS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../helpers) + +# 共享内存管理器测试 +add_module_test( + TARGET test_shm_shared_memory_manager + SOURCE_FILE test_shared_memory_manager.cpp + MODULE "SHM" + LINK_LIBRARIES alicho_network alicho_misc Boost::interprocess + INCLUDE_DIRS ${SHM_HELPERS_DIR} ${GLOBAL_HELPERS_DIR} +) + +# Lock-Free Ring Buffer 测试 +add_module_test( + TARGET test_shm_lock_free_ring_buffer + SOURCE_FILE test_lock_free_ring_buffer.cpp + MODULE "SHM" + LINK_LIBRARIES alicho_network alicho_misc Boost::interprocess + INCLUDE_DIRS ${SHM_HELPERS_DIR} ${GLOBAL_HELPERS_DIR} +) + +# Triple Buffer 测试 +add_module_test( + TARGET test_shm_triple_buffer + SOURCE_FILE test_triple_buffer.cpp + MODULE "SHM" + LINK_LIBRARIES alicho_network alicho_misc Boost::interprocess + INCLUDE_DIRS ${SHM_HELPERS_DIR} ${GLOBAL_HELPERS_DIR} +) + +# 进程间同步测试 +add_module_test( + TARGET test_shm_interprocess_sync + SOURCE_FILE test_interprocess_sync.cpp + MODULE "SHM" + LINK_LIBRARIES alicho_network alicho_misc Boost::interprocess + INCLUDE_DIRS ${SHM_HELPERS_DIR} ${GLOBAL_HELPERS_DIR} +) + +# 自定义目标:运行 SHM 测试 +add_custom_target(run_shm_tests + COMMAND ${CMAKE_CTEST_COMMAND} -R "test_shm_" --output-on-failure + DEPENDS + test_shm_shared_memory_manager + test_shm_lock_free_ring_buffer + test_shm_triple_buffer + test_shm_interprocess_sync + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "运行 SHM 模块测试" +) \ No newline at end of file diff --git a/tests/shm/test_interprocess_sync.cpp b/tests/shm/test_interprocess_sync.cpp index 4ba10b9..12efdcc 100644 --- a/tests/shm/test_interprocess_sync.cpp +++ b/tests/shm/test_interprocess_sync.cpp @@ -1,7 +1,7 @@ #include #include "shm/interprocess_synchronization.h" -#include "helpers/test_environment.h" -#include "helpers/custom_assertions.h" +#include "test_environment.h" +#include "custom_assertions.h" #include #include diff --git a/tests/shm/test_lock_free_ring_buffer.cpp b/tests/shm/test_lock_free_ring_buffer.cpp index eb9000c..94e6c4d 100644 --- a/tests/shm/test_lock_free_ring_buffer.cpp +++ b/tests/shm/test_lock_free_ring_buffer.cpp @@ -1,8 +1,8 @@ #include #include "shm/lock_free_ring_buffer.h" -#include "helpers/test_environment.h" -#include "helpers/data_generator.h" -#include "helpers/custom_assertions.h" +#include "test_environment.h" +#include "data_generator.h" +#include "custom_assertions.h" using namespace shm_test; diff --git a/tests/shm/test_shared_memory_manager.cpp b/tests/shm/test_shared_memory_manager.cpp index f658685..3100a10 100644 --- a/tests/shm/test_shared_memory_manager.cpp +++ b/tests/shm/test_shared_memory_manager.cpp @@ -1,7 +1,7 @@ #include -#include "helpers/test_environment.h" -#include "helpers/data_generator.h" -#include "helpers/custom_assertions.h" +#include "test_environment.h" +#include "data_generator.h" +#include "custom_assertions.h" #include "shm/shared_memory_manager.h" using namespace shm_test; diff --git a/tests/shm/test_triple_buffer.cpp b/tests/shm/test_triple_buffer.cpp index 1e4b56a..d7b636b 100644 --- a/tests/shm/test_triple_buffer.cpp +++ b/tests/shm/test_triple_buffer.cpp @@ -1,7 +1,7 @@ #include #include "shm/triple_buffer.h" -#include "helpers/test_environment.h" -#include "helpers/custom_assertions.h" +#include "test_environment.h" +#include "custom_assertions.h" #include #include diff --git a/tests/simd/CMakeLists.txt b/tests/simd/CMakeLists.txt new file mode 100644 index 0000000..27f951a --- /dev/null +++ b/tests/simd/CMakeLists.txt @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 3.20) + +message(STATUS "配置 SIMD 模块测试...") + +# SIMD 基础测试 +add_module_test( + TARGET test_simd_basic + SOURCE_FILE test_simd_basic.cpp + MODULE "SIMD" + LINK_LIBRARIES alicho_simd +) + +# SIMD 音频处理测试 +add_module_test( + TARGET test_simd_audio_processing + SOURCE_FILE test_simd_audio_processing.cpp + MODULE "SIMD" + LINK_LIBRARIES alicho_simd +) + +# 自定义目标:运行 SIMD 测试 +add_custom_target(run_simd_tests + COMMAND ${CMAKE_CTEST_COMMAND} -R "test_simd_" --output-on-failure + DEPENDS test_simd_basic test_simd_audio_processing + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "运行 SIMD 模块测试" +) \ No newline at end of file diff --git a/tests/test_audio_processing_comprehensive.cpp b/tests/simd/test_simd_audio_processing.cpp similarity index 100% rename from tests/test_audio_processing_comprehensive.cpp rename to tests/simd/test_simd_audio_processing.cpp diff --git a/tests/test_simd.cpp b/tests/simd/test_simd_basic.cpp similarity index 100% rename from tests/test_simd.cpp rename to tests/simd/test_simd_basic.cpp