On Tue, Nov 6, 2012 at 4:26 PM, Xinliang David Li <davi...@google.com> wrote:
>
> As asan/tsan functionality is getting into trunk, we need to set up
> testings as soon as possible to avoid bitrot.
>
> Kostya can probably shed some lights on the test case requirements,
> and we can continue discussions on how to extend dejagnu to import
> those tests.

asan has 3 kinds of tests.

1. LLVM unittests (Text file with LLVM IR and the expected result of
the transformations).
Example:  
http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/AddressSanitizer/do-not-touch-threadlocal.ll?revision=145092&view=markup
I am not sure if anything similar is possible with GCC.

2. Large Gtest-based unittest. This is a set of c++ files that should
be built with the asan switch, depends on gtest
(http://code.google.com/p/googletest/).
http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/tests/asan_test.cc?revision=166104&view=markup
This should be easy to port to GCC, but it requires gtest.

3. Full output tests (a .cc file should be build with asan switch,
executable should be run and the stderr is compared with the expected
output)
Example: 
http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/lit_tests/stack-overflow.cc?revision=165391&view=markup
The can be ported to GCC, but the uses of FileCheck
(http://llvm.org/docs/CommandGuide/FileCheck.html) will need to be
replaced with GCC's analog.
We should probably start with these tests.

tsan tests have similar structure.

--kcc

Reply via email to