@@ -77,36 +77,35 @@ function(gnc_add_test _TARGET _SOURCE_FILES TEST_INCLUDE_VAR_NAME TEST_LIBS_VAR_
7777 # Extra arguments are treated as environment variables
7878 set (HAVE_ENV_VARS TRUE )
7979 endif ()
80+ set (ENVVARS "GNC_UNINSTALLED=YES;GNC_BUILDDIR=${CMAKE_BINARY_DIR} " )
81+ if (HAVE_ENV_VARS)
82+ list (APPEND ENVVARS ${ARGN} )
83+ endif ()
8084 set (TEST_INCLUDE_DIRS ${${TEST_INCLUDE_VAR_NAME} })
8185 set (TEST_LIBS ${${TEST_LIBS_VAR_NAME} })
8286 set_source_files_properties (${_SOURCE_FILES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H} )
83- add_executable (${_TARGET} EXCLUDE_FROM_ALL ${_SOURCE_FILES} )
84- target_link_libraries (${_TARGET} ${TEST_LIBS} )
85- target_include_directories (${_TARGET} PRIVATE ${TEST_INCLUDE_DIRS} )
86- if (${HAVE_ENV_VARS} )
87- add_test (${_TARGET} ${CMAKE_BINARY_DIR} /bin/${_TARGET} )
88- set_tests_properties (${_TARGET} PROPERTIES ENVIRONMENT "GNC_UNINSTALLED=YES;GNC_BUILDDIR=${CMAKE_BINARY_DIR} ;${ARGN} " )
87+ if (CMAKE_GENERATOR STREQUAL Xcode)
88+ add_test (NAME ${_TARGET} COMMAND ${_TARGET} CONFIGURATIONS Debug;Release)
8989 else ()
90- if (CMAKE_GENERATOR STREQUAL Xcode)
91- add_test (NAME ${_TARGET} COMMAND ${_TARGET} CONFIGURATIONS Debug;Release)
92- else ()
93- add_test (NAME ${_TARGET} COMMAND ${_TARGET} )
94- endif ()
95- set_tests_properties (${_TARGET} PROPERTIES ENVIRONMENT "GNC_UNINSTALLED=YES;GNC_BUILDDIR=${CMAKE_BINARY_DIR} " )
90+ add_test (NAME ${_TARGET} COMMAND ${_TARGET} )
9691 endif ()
92+ add_executable (${_TARGET} EXCLUDE_FROM_ALL ${_SOURCE_FILES} )
93+ target_link_libraries (${_TARGET} PRIVATE ${TEST_LIBS} )
94+ target_include_directories (${_TARGET} PRIVATE ${TEST_INCLUDE_DIRS} )
95+ set_tests_properties (${_TARGET} PROPERTIES ENVIRONMENT "$<IF:$<CONFIG:Asan>,${ENVVARS} ;ASAN_OPTIONS=fast_unwind_on_malloc=0,${ENVVARS} >" )
9796 add_dependencies (check ${_TARGET} )
9897endfunction ()
9998
10099function (gnc_add_test_with_guile _TARGET _SOURCE_FILES TEST_INCLUDE_VAR_NAME TEST_LIBS_VAR_NAME)
101100 get_guile_env()
102101 gnc_add_test(${_TARGET} "${_SOURCE_FILES} " "${TEST_INCLUDE_VAR_NAME} " "${TEST_LIBS_VAR_NAME} "
103- "${GUILE_ENV} ;${ARGN} "
102+ "${GUILE_ENV} $<$<CONFIG:Asan>:; ${ASAN_DYNAMIC_LIB_ENV} > ;${ARGN} "
104103 )
105104endfunction ()
106105
107106
108107function (gnc_add_scheme_test _TARGET _SOURCE_FILE)
109- add_test (${_TARGET} ${GUILE_EXECUTABLE} --debug -c "
108+ add_test (NAME ${_TARGET} COMMAND ${GUILE_EXECUTABLE} --debug -c "
110109 (set! %load-hook
111110 (lambda (filename)
112111 (when (and filename
@@ -119,7 +118,7 @@ function(gnc_add_scheme_test _TARGET _SOURCE_FILE)
119118 (exit (run-test))"
120119 )
121120 get_guile_env()
122- set_tests_properties (${_TARGET} PROPERTIES ENVIRONMENT "${GUILE_ENV} ;${ARGN} " )
121+ set_tests_properties (${_TARGET} PROPERTIES ENVIRONMENT "$<IF:$<CONFIG:Asan>, $ {GUILE_ENV} ;${ASAN_DYNAMIC_LIB_ENV} ;ASAN_OPTIONS=fast_unwind_on_malloc=0; ${ ARGN}, ${GUILE_ENV} ; ${ARGN} > " )
123122endfunction ()
124123
125124function (gnc_add_scheme_tests _SOURCE_FILES)
0 commit comments