Hi Karl, Maybe this blog post can be useful to you: https://blog.kitware.com/ctest-cdash-add-support-for-new-dynamic-analysis-tools/
I believe that the AddressSanitizer should normally stop with a non-zero error code right after the first error. You can check the runtime flags to control this behavior: https://github.com/google/sanitizers/wiki/AddressSanitizerFlags https://github.com/google/sanitizers/wiki/SanitizerCommonFlags Best regards, Xavier On Tue, Dec 27, 2016 at 1:05 AM, Karl Robinson <debugg...@outlook.com> wrote: > Hi > > I am trying to use Address Sanitizer (also UndefinedBehaviour and Memory > Sanitizers) with CTest (CMake 3.5.1). In my top level cmake file I have > > set(MEMORYCHECK_TYPE "AddressSanitizer") > include (CTest) > enable_testing() > add_test( some_test_case ) > > Then I run my tests with > > ctest -T memcheck > > > Whatever I do I always end up with Valgrind being run, occasionally > (depending on what I have been messing with) CTest reports "Memory checker > (MemoryCheckCommand) not set, or cannot find the specified program.") > > In both cases my Dart config file looks like this > > # Dynamic analysis (MemCheck) > PurifyCommand: > ValgrindCommand: > ValgrindCommandOptions: > MemoryCheckType: AddressSanitizer > MemoryCheckSanitizerOptions: > MemoryCheckCommand: /usr/bin/valgrind > MemoryCheckCommandOptions: > MemoryCheckSuppressionFile: > > When I look through the cmake source code it seems that setting the > MEMORYCHECK_TYPE variable to AddressSanitizer but with > no MEMORYCHECK_COMMAND specified is correct. Why do I always end up with > Valgrind being selected? Is this the correct behavior? > > When I run 'ctest -T test' on code built with a sanitizer enabled I can > see bugs in the code firing the sanitizer and useful output is produced. So > I don't understand why Valgrind is required > > The reason for trying to do this is that I was hoping that when I run a > memcheck ctest would see the output from the sanitizers and mark the test > case as failed. However, neither 'test' nor 'memcheck' detect the sanitizer > failure > > Any ideas what I might be doing wrong? Better, is there an example of > using the sanitizers with ctest? > > CMake & CTest are great tools but would be even more awesome if I could > integrate CTest and the sanitizers > > Thanks! > > > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/cmake-developers > -- Dr Xavier BESSERON Research associate FSTC, University of Luxembourg Campus Kirchberg, Office E-007 Phone: +352 46 66 44 5418 http://luxdem.uni.lu/
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers