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(bsr_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. bsr_copy_ggml_runtime_dlls(${name})
  22. endfunction()
  23. # Core tests (no external data required)
  24. # bsr_add_test(test_audio) -> test_audio needs src/audio.cpp
  25. add_executable(test_audio test_audio.cpp ../src/audio.cpp)
  26. target_link_libraries(test_audio PRIVATE test_common)
  27. target_include_directories(test_audio PRIVATE ../src ../third_party)
  28. add_test(NAME test_audio COMMAND test_audio)
  29. bsr_copy_ggml_runtime_dlls(test_audio)
  30. bsr_add_test(test_component_stft)
  31. # Component tests (require model + test data)
  32. bsr_add_test(test_component_bandsplit)
  33. bsr_add_test(test_component_layers)
  34. bsr_add_test(test_component_mask)
  35. # Integration tests
  36. bsr_add_test(test_inference)
  37. bsr_add_test(test_chunking_logic)
  38. bsr_add_test(test_stft_consistency)
  39. bsr_add_test(test_cancel_callback)