Re: [cmake-developers] Fw: CTest and Address Sanitizer

2016-12-29 Thread Karl Robinson







>> Maybe this blog post can be useful to you: 
>> https://blog.kitware.com/ctest-cdash-add-support-for-new-dynamic-analysis-tools/


Thanks Xavier, I did stumble across that blog post previously. It doesn't 
really help with my problem though. 


>> I believe that the AddressSanitizer should normally stop with a non-zero 
>> error code right after the first error.

I have many tests within each executable test application, forcing the 
application to exit on the first error is not optimal since it means I cannot 
get an overview of all the issues and triage/fix them in logical order. Instead 
I have to test/fix/retest every time

I should make some experiments with Valgrind, iirc ctest does understand 
Valgrind output. Of course, I already fixed all the issues Valgrind detected so 
now I have to fabri-cobble some new ones ⃣

I guess no one knows why Valgrind always seems to run when memtest is selected?

Thanks again for taking the time!

  


On Tue, Dec 27, 2016 at 1:05 AM, Karl Robinson   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

[cmake-developers] require-tr1 topic

2016-12-29 Thread Gregor Jasny via cmake-developers
Hello Daniel,

I wonder what's the idea behind the require-tr1 topic? Some still
supported platforms like macOS with Xcode 3.x seem to fail now.

Thanks,
Gregor
-- 

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


Re: [cmake-developers] Fw: CTest and Address Sanitizer

2016-12-29 Thread Xavier Besseron
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 
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