Fix leak and address sanitizer tests to be able to run with real tools.
When running CMake under Leak or Address Sanitizer tools, the fake reporting would get picked up by the outer CMake and reported as leaks and address failures on the CMake dashboard. This commit makes sure the test only reports simulated errors when asked to.
This commit is contained in:
parent
08bb09a944
commit
f7d62cac79
|
@ -121,7 +121,7 @@ set(CTEST_EXTRA_CODE)
|
|||
|
||||
# add LeakSanitizer test
|
||||
set(CTEST_EXTRA_CODE
|
||||
"set(CTEST_MEMORYCHECK_COMMAND_OPTIONS \"report_bugs=1 history_size=5 exitcode=55\")
|
||||
"set(CTEST_MEMORYCHECK_COMMAND_OPTIONS \"simulate_sanitizer=1 report_bugs=1 history_size=5 exitcode=55\")
|
||||
")
|
||||
|
||||
set(CMAKELISTS_EXTRA_CODE
|
||||
|
@ -136,7 +136,7 @@ set_tests_properties(CTestTestMemcheckDummyLeakSanitizer PROPERTIES
|
|||
".*Memory checking results:.*Direct leak - 2.*Indirect leak - 1.*")
|
||||
# add AddressSanitizer test
|
||||
set(CTEST_EXTRA_CODE
|
||||
"set(CTEST_MEMORYCHECK_COMMAND_OPTIONS \"report_bugs=1 history_size=5 exitcode=55\")
|
||||
"set(CTEST_MEMORYCHECK_COMMAND_OPTIONS \"simulate_sanitizer=1 report_bugs=1 history_size=5 exitcode=55\")
|
||||
")
|
||||
|
||||
set(CMAKELISTS_EXTRA_CODE
|
||||
|
|
|
@ -5,6 +5,10 @@ message("ASAN_OPTIONS = [$ENV{ASAN_OPTIONS}]")
|
|||
string(REGEX REPLACE ".*log_path=\"([^\"]*)\".*" "\\1" LOG_FILE "$ENV{ASAN_OPTIONS}")
|
||||
message("LOG_FILE=[${LOG_FILE}]")
|
||||
|
||||
# if we are not asked to simulate address sanitizer don't do it
|
||||
if(NOT "$ENV{ASAN_OPTIONS}]" MATCHES "simulate_sanitizer.1")
|
||||
return()
|
||||
endif()
|
||||
# clear the log file
|
||||
file(REMOVE "${LOG_FILE}.2343")
|
||||
|
||||
|
|
|
@ -4,6 +4,10 @@
|
|||
message("ASAN_OPTIONS = [$ENV{ASAN_OPTIONS}]")
|
||||
string(REGEX REPLACE ".*log_path=\"([^\"]*)\".*" "\\1" LOG_FILE "$ENV{ASAN_OPTIONS}")
|
||||
message("LOG_FILE=[${LOG_FILE}]")
|
||||
# if we are not asked to simulate leak sanitizer don't do it
|
||||
if(NOT "$ENV{ASAN_OPTIONS}]" MATCHES "simulate_sanitizer.1")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# clear the log file
|
||||
file(REMOVE "${LOG_FILE}.2343")
|
||||
|
|
Loading…
Reference in New Issue