[compiler-rt] r194150 - [ASan] Use OS-specific matches in the malloc_context_size.cc lit test.

Alexander Potapenko glider at google.com
Wed Nov 6 06:00:38 PST 2013


Author: glider
Date: Wed Nov  6 08:00:37 2013
New Revision: 194150

URL: http://llvm.org/viewvc/llvm-project?rev=194150&view=rev
Log:
[ASan] Use OS-specific matches in the malloc_context_size.cc lit test.

The top stack frames for operator new and operator delete are different on Linux and Darwin.

Modified:
    compiler-rt/trunk/lib/asan/lit_tests/TestCases/malloc_context_size.cc

Modified: compiler-rt/trunk/lib/asan/lit_tests/TestCases/malloc_context_size.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/lit_tests/TestCases/malloc_context_size.cc?rev=194150&r1=194149&r2=194150&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/lit_tests/TestCases/malloc_context_size.cc (original)
+++ compiler-rt/trunk/lib/asan/lit_tests/TestCases/malloc_context_size.cc Wed Nov  6 08:00:37 2013
@@ -1,18 +1,26 @@
 // RUN: %clangxx_asan -O0 %s -o %t
-// RUN: ASAN_OPTIONS=malloc_context_size=0:fast_unwind_on_malloc=0 not %t 2>&1 | FileCheck %s
-// RUN: ASAN_OPTIONS=malloc_context_size=0:fast_unwind_on_malloc=1 not %t 2>&1 | FileCheck %s
-// RUN: ASAN_OPTIONS=malloc_context_size=1:fast_unwind_on_malloc=0 not %t 2>&1 | FileCheck %s
-// RUN: ASAN_OPTIONS=malloc_context_size=1:fast_unwind_on_malloc=1 not %t 2>&1 | FileCheck %s
+// RUN: ASAN_OPTIONS=malloc_context_size=0:fast_unwind_on_malloc=0 not %t 2>&1 | FileCheck %s --check-prefix=CHECK-%os
+// RUN: ASAN_OPTIONS=malloc_context_size=0:fast_unwind_on_malloc=1 not %t 2>&1 | FileCheck %s --check-prefix=CHECK-%os
+// RUN: ASAN_OPTIONS=malloc_context_size=1:fast_unwind_on_malloc=0 not %t 2>&1 | FileCheck %s --check-prefix=CHECK-%os
+// RUN: ASAN_OPTIONS=malloc_context_size=1:fast_unwind_on_malloc=1 not %t 2>&1 | FileCheck %s --check-prefix=CHECK-%os
 
 int main() {
   char *x = new char[20];
   delete[] x;
   return x[0];
-  // CHECK: freed by thread T{{.*}} here:
-  // CHECK-NEXT: #0 0x{{.*}} in operator delete[]
+  // We need to keep duplicate lines with different 'CHECK-%os' prefixes,
+  // otherwise FileCheck barks on missing 'CHECK-%os' before 'CHECK-%os-NEXT'.
+
+  // CHECK-Linux: freed by thread T{{.*}} here:
+  // CHECK-Linux-NEXT: #0 0x{{.*}} in operator delete[]
+  // CHECK-Darwin: freed by thread T{{.*}} here:
+  // CHECK-Darwin-NEXT: #0 0x{{.*}} in wrap__ZdaPv
   // CHECK-NOT: #1 0x{{.*}}
-  // CHECK: previously allocated by thread T{{.*}} here:
-  // CHECK-NEXT: #0 0x{{.*}} in operator new[]
+
+  // CHECK-Linux: previously allocated by thread T{{.*}} here:
+  // CHECK-Linux-NEXT: #0 0x{{.*}} in operator new[]
+  // CHECK-Darwin: previously allocated by thread T{{.*}} here:
+  // CHECK-Darwin-NEXT: #0 0x{{.*}} in wrap__Znam
   // CHECK-NOT: #1 0x{{.*}}
 
   // CHECK: SUMMARY: AddressSanitizer: heap-use-after-free





More information about the llvm-commits mailing list