diff --git a/morpheus/_lib/tests/CMakeLists.txt b/morpheus/_lib/tests/CMakeLists.txt index 792c564442..3b7745f662 100644 --- a/morpheus/_lib/tests/CMakeLists.txt +++ b/morpheus/_lib/tests/CMakeLists.txt @@ -19,39 +19,74 @@ find_package(pybind11 REQUIRED) include(GoogleTest) +# Cuda Test + +add_executable(test_cuda + test_cuda.cu +) + +target_link_libraries(test_cuda + PRIVATE + GTest::gtest + GTest::gtest_main + matx::matx +) + +gtest_discover_tests(test_cuda) + +set_target_properties(test_cuda + PROPERTIES + INSTALL_RPATH "$ORIGIN/.." + CUDA_STANDARD 17 + CUDA_STANDARD_REQUIRED ON +) + +install( + TARGETS + test_cuda + RUNTIME DESTINATION + "${MORPHEUS_LIB_INSTALL_DIR}/tests" + COMPONENT Wheel +) + +# Morpheus Test Utilities + add_library( - morpheus_test_utilities - test_utils/common.cpp + morpheus_test_utilities + test_utils/common.cpp ) target_link_libraries( morpheus_test_utilities - PRIVATE + PUBLIC GTest::gtest morpheus ) -function (add_morpheus_test TEST_NAME TEST_FILES) +# Morpheus Tests - add_executable( - test_${TEST_NAME} - ${TEST_FILES} +function (add_morpheus_test) + set(options) + set(oneValueArgs NAME) + set(multiValueArgs FILES) + cmake_parse_arguments( + MORPHEUS_TEST "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) - target_link_libraries( - test_${TEST_NAME} + add_executable(test_${MORPHEUS_TEST_NAME} + ${MORPHEUS_TEST_FILES} + ) + + target_link_libraries(test_${MORPHEUS_TEST_NAME} PRIVATE - GTest::gtest GTest::gtest_main - matx::matx - morpheus morpheus_test_utilities pybind11::embed ) - gtest_discover_tests(test_${TEST_NAME}) + gtest_discover_tests(test_${MORPHEUS_TEST_NAME}) - set_target_properties(test_${TEST_NAME} + set_target_properties(test_${MORPHEUS_TEST_NAME} PROPERTIES INSTALL_RPATH "$ORIGIN/.." CUDA_STANDARD 17 @@ -60,7 +95,7 @@ function (add_morpheus_test TEST_NAME TEST_FILES) install( TARGETS - test_${TEST_NAME} + test_${MORPHEUS_TEST_NAME} RUNTIME DESTINATION "${MORPHEUS_LIB_INSTALL_DIR}/tests" COMPONENT Wheel @@ -68,52 +103,68 @@ function (add_morpheus_test TEST_NAME TEST_FILES) endfunction() -add_morpheus_test(cuda - test_cuda.cu -) - -add_morpheus_test(data_loader - io/test_data_loader.cpp - io/test_data_loader_registry.cpp - io/test_loaders.cpp +add_morpheus_test( + NAME io + FILES + io/test_data_loader.cpp + io/test_data_loader_registry.cpp + io/test_loaders.cpp ) -add_morpheus_test(messages - messages/test_control_message.cpp - messages/test_dev_doc_ex3.cpp - messages/test_sliced_message_meta.cpp +add_morpheus_test( + NAME messages + FILES + messages/test_control_message.cpp + messages/test_dev_doc_ex3.cpp + messages/test_sliced_message_meta.cpp ) -add_morpheus_test(modules - modules/test_data_loader_module.cpp +add_morpheus_test( + NAME modules + FILES + modules/test_data_loader_module.cpp ) -add_morpheus_test(deserializers - test_deserializers.cpp +add_morpheus_test( + NAME deserializers + FILES + test_deserializers.cpp ) -add_morpheus_test(dev_mem_info - test_dev_mem_info.cpp +add_morpheus_test( + NAME dev_mem_info + FILES + test_dev_mem_info.cpp ) -add_morpheus_test(file_io - test_file_in_out.cpp +add_morpheus_test( + NAME file_in_out + FILES + test_file_in_out.cpp ) -add_morpheus_test(matx - test_matx_util.cpp +add_morpheus_test( + NAME matx_util + FILES + test_matx_util.cpp ) -add_morpheus_test(multi_slices - test_multi_slices.cpp +add_morpheus_test( + NAME multi_slices + FILES + test_multi_slices.cpp ) -add_morpheus_test(tensor - test_tensor.cpp +add_morpheus_test( + NAME tensor + FILES + test_tensor.cpp ) -add_morpheus_test(type_util - test_type_util.cpp +add_morpheus_test( + NAME type_util + FILES + test_type_util.cpp ) list(POP_BACK CMAKE_MESSAGE_CONTEXT) diff --git a/morpheus/_lib/tests/io/test_io.hpp b/morpheus/_lib/tests/io/test_io.hpp index 5a05e6a80c..b849b42a0f 100644 --- a/morpheus/_lib/tests/io/test_io.hpp +++ b/morpheus/_lib/tests/io/test_io.hpp @@ -21,8 +21,8 @@ namespace morpheus::test { -TEST_CLASS(DataLoaderRegistry); -TEST_CLASS(Loader); +using TestLoader = TestWithPythonInterpreter; // NOLINT +using TestDataLoader = TestWithPythonInterpreter; // NOLINT +using TestDataLoaderRegistry = TestWithPythonInterpreter; // NOLINT -using TestDataLoader = TestWithPythonInterpreter; // NOLINT -} // namespace morpheus::test \ No newline at end of file +} // namespace morpheus::test