@@ -588,20 +588,74 @@ function(add_umf_ipc_test)
588588 set (SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR} )
589589 endif ()
590590
591- file (COPY ${SRC_DIR} /${ARG_TEST} .sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
591+ if (WINDOWS)
592+ set (EXT bat)
593+ else ()
594+ set (EXT sh)
595+ endif ()
596+
597+ file (COPY ${SRC_DIR} /${ARG_TEST} .${EXT}
598+ DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
592599
593600 add_test (
594601 NAME ${TEST_NAME}
595- COMMAND ${ARG_TEST} .sh
602+ COMMAND ${ARG_TEST} .${EXT}
596603 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )
597604
605+ if (WINDOWS)
606+ set_tests_properties (${TEST_NAME} PROPERTIES
607+ ENVIRONMENT "BUILD_TYPE=${CMAKE_BUILD_TYPE} " )
608+ # add PATH to DLL on Windows
609+ set (DLL_PATH_LIST
610+ "${DLL_PATH_LIST} ;PATH=path_list_append:${CMAKE_BINARY_DIR} /bin/;PATH=path_list_append:${CMAKE_BINARY_DIR} /bin/$<CONFIG>/"
611+ )
612+ set_property (TEST ${TEST_NAME} PROPERTY ENVIRONMENT_MODIFICATION
613+ "${DLL_PATH_LIST} " )
614+ endif ()
615+
598616 set_tests_properties (${TEST_NAME} PROPERTIES LABELS "umf" )
599617 set_tests_properties (${TEST_NAME} PROPERTIES TIMEOUT 60)
600618 if (NOT UMF_TESTS_FAIL_ON_SKIP)
601619 set_tests_properties (${TEST_NAME} PROPERTIES SKIP_RETURN_CODE 125)
602620 endif ()
603621endfunction ()
604622
623+ if (WINDOWS)
624+ set (UMF_IPC_LIBS ws2_32)
625+ endif ()
626+
627+ if (UMF_BUILD_GPU_TESTS AND UMF_LEVEL_ZERO_ENABLED)
628+ build_umf_test(
629+ NAME ipc_level_zero_prov_consumer
630+ SRCS providers/ipc_level_zero_prov_consumer.c common/ipc_common.c
631+ providers/ipc_level_zero_prov_common.c
632+ ${UMF_UTILS_DIR} /utils_level_zero.cpp
633+ LIBS ze_loader ${UMF_IPC_LIBS} ${UMF_UTILS_FOR_TEST} )
634+ build_umf_test(
635+ NAME ipc_level_zero_prov_producer
636+ SRCS providers/ipc_level_zero_prov_producer.c common/ipc_common.c
637+ providers/ipc_level_zero_prov_common.c
638+ ${UMF_UTILS_DIR} /utils_level_zero.cpp
639+ LIBS ze_loader ${UMF_IPC_LIBS} ${UMF_UTILS_FOR_TEST} )
640+ add_umf_ipc_test(TEST ipc_level_zero_prov SRC_DIR providers)
641+ endif ()
642+
643+ if (UMF_BUILD_GPU_TESTS AND UMF_BUILD_CUDA_PROVIDER)
644+ build_umf_test(
645+ NAME ipc_cuda_prov_consumer
646+ SRCS providers/ipc_cuda_prov_consumer.c common/ipc_common.c
647+ providers/ipc_cuda_prov_common.c providers/cuda_helpers.cpp
648+ LIBS cuda ${UMF_IPC_LIBS} ${UMF_UTILS_FOR_TEST} )
649+ build_umf_test(
650+ NAME ipc_cuda_prov_producer
651+ SRCS providers/ipc_cuda_prov_producer.c common/ipc_common.c
652+ providers/ipc_cuda_prov_common.c providers/cuda_helpers.cpp
653+ LIBS cuda ${UMF_IPC_LIBS} ${UMF_UTILS_FOR_TEST} )
654+ add_umf_ipc_test(TEST ipc_cuda_prov SRC_DIR providers)
655+ endif ()
656+
657+ # TODO IPC tests for OS, file, devdax providers and proxy lib are supported only
658+ # on Linux - skipping
605659if (LINUX)
606660 if (UMF_POOL_SCALABLE_ENABLED)
607661 build_umf_test(
@@ -645,39 +699,11 @@ if(LINUX)
645699 add_umf_ipc_test(TEST ipc_file_prov_fsdax)
646700 endif ()
647701
648- # TODO add IPC tests for CUDA
649-
650- if (UMF_BUILD_GPU_TESTS AND UMF_LEVEL_ZERO_ENABLED)
651- build_umf_test(
652- NAME ipc_level_zero_prov_consumer
653- SRCS providers/ipc_level_zero_prov_consumer.c common/ipc_common.c
654- providers/ipc_level_zero_prov_common.c
655- ${UMF_UTILS_DIR} /utils_level_zero.cpp
656- LIBS ze_loader ${UMF_UTILS_FOR_TEST} )
657- build_umf_test(
658- NAME ipc_level_zero_prov_producer
659- SRCS providers/ipc_level_zero_prov_producer.c common/ipc_common.c
660- providers/ipc_level_zero_prov_common.c
661- ${UMF_UTILS_DIR} /utils_level_zero.cpp
662- LIBS ze_loader ${UMF_UTILS_FOR_TEST} )
663- add_umf_ipc_test(TEST ipc_level_zero_prov SRC_DIR providers)
664- endif ()
665-
666- if (UMF_BUILD_GPU_TESTS AND UMF_BUILD_CUDA_PROVIDER)
667- build_umf_test(
668- NAME ipc_cuda_prov_consumer
669- SRCS providers/ipc_cuda_prov_consumer.c common/ipc_common.c
670- providers/ipc_cuda_prov_common.c providers/cuda_helpers.cpp
671- LIBS cuda ${UMF_UTILS_FOR_TEST} )
672- build_umf_test(
673- NAME ipc_cuda_prov_producer
674- SRCS providers/ipc_cuda_prov_producer.c common/ipc_common.c
675- providers/ipc_cuda_prov_common.c providers/cuda_helpers.cpp
676- LIBS cuda ${UMF_UTILS_FOR_TEST} )
677- add_umf_ipc_test(TEST ipc_cuda_prov SRC_DIR providers)
678- endif ()
679702else ()
680- message (STATUS "IPC tests are supported on Linux only - skipping" )
703+ message (
704+ STATUS
705+ "IPC tests for OS, file, devdax providers and proxy lib are supported only on Linux - skipping"
706+ )
681707endif ()
682708
683709if (LINUX
0 commit comments