#
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2020-2022, Intel Corporation
# Copyright (c) 2023 Fujitsu Limited
#

include(../../cmake/ctest_helpers.cmake)

function(add_test_mr name)
	set(src_name mr-${name})
	set(name ut-${src_name})
	build_test_src(UNIT NAME ${name} SRCS
		${src_name}.c
		mr-common.c
		${TEST_UNIT_COMMON_DIR}/mocks-ibverbs.c
		${TEST_UNIT_COMMON_DIR}/mocks-rpma-log.c
		${TEST_UNIT_COMMON_DIR}/mocks-rpma-peer.c
		${TEST_UNIT_COMMON_DIR}/mocks-stdlib.c
		${LIBRPMA_SOURCE_DIR}/rpma_err.c
		${LIBRPMA_SOURCE_DIR}/mr.c)

	target_compile_definitions(${name} PRIVATE TEST_MOCK_ALLOC)

	set_target_properties(${name}
		PROPERTIES
		LINK_FLAGS "-Wl,--wrap=_test_malloc")

	add_test_generic(NAME ${name} TRACERS none)
endfunction()

add_test_mr(advise)
add_test_mr(atomic_write)
add_test_mr(descriptor)
if(NATIVE_FLUSH_SUPPORTED)
	add_test_mr(flush)
endif()
add_test_mr(get_flush_type)
add_test_mr(local)
add_test_mr(read)
add_test_mr(recv)
add_test_mr(reg)
add_test_mr(send)
add_test_mr(srq_recv)
add_test_mr(write)
