CMakeLists.txt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # tests/CMakeLists.txt
  2. # Test suite for BSRoformer
  3. #================================================
  4. # Test Infrastructure
  5. #================================================
  6. add_library(test_common STATIC test_common.cpp)
  7. target_link_libraries(test_common PUBLIC bs_roformer)
  8. target_include_directories(test_common PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
  9. #================================================
  10. # Test Registration
  11. #================================================
  12. # Helper: Add a test with common configuration
  13. function(mbr_add_test name)
  14. if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${name}.cpp")
  15. return()
  16. endif()
  17. add_executable(${name} ${name}.cpp)
  18. target_link_libraries(${name} PRIVATE test_common)
  19. add_test(NAME ${name} COMMAND ${name})
  20. # Copy DLLs on Windows
  21. mbr_copy_ggml_dlls(${name})
  22. endfunction()
  23. # Core tests (no external data required)
  24. # Core tests (no external data required)
  25. # mbr_add_test(test_audio) -> test_audio needs src/audio.cpp
  26. add_executable(test_audio test_audio.cpp ../src/audio.cpp)
  27. target_link_libraries(test_audio PRIVATE test_common)
  28. target_include_directories(test_audio PRIVATE ../src ../third_party)
  29. add_test(NAME test_audio COMMAND test_audio)
  30. mbr_copy_ggml_dlls(test_audio)
  31. mbr_add_test(test_component_stft)
  32. # Component tests (require model + test data)
  33. mbr_add_test(test_component_bandsplit)
  34. mbr_add_test(test_component_layers)
  35. mbr_add_test(test_component_mask)
  36. # Integration tests
  37. mbr_add_test(test_inference)
  38. mbr_add_test(test_chunking_logic)
  39. mbr_add_test(test_stft_consistency)