Enable pipefail for ASan tests

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@187877 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc b/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc
index 4c5744a..8bddb76 100644
--- a/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc
+++ b/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc
@@ -1,7 +1,7 @@
 // RUN: %clangxx_asan -fsanitize=use-after-return -O0 %s -o %t && \
-// RUN:   %t 2>&1 | FileCheck %s
+// RUN:   not %t 2>&1 | FileCheck %s
 // RUN: %clangxx_asan -fsanitize=use-after-return -O2 %s -o %t && \
-// RUN:   %t 2>&1 | FileCheck %s
+// RUN:   not %t 2>&1 | FileCheck %s
 
 #include <stdio.h>
 #include <string.h>
diff --git a/lib/asan/lit_tests/TestCases/Linux/initialization-bug-any-order.cc b/lib/asan/lit_tests/TestCases/Linux/initialization-bug-any-order.cc
index 0f1ea3e..2787fc5 100644
--- a/lib/asan/lit_tests/TestCases/Linux/initialization-bug-any-order.cc
+++ b/lib/asan/lit_tests/TestCases/Linux/initialization-bug-any-order.cc
@@ -4,10 +4,10 @@
 // strict init-order checking).
 
 // RUN: %clangxx_asan -O0 %s %p/../Helpers/initialization-bug-extra.cc -o %t
-// RUN: ASAN_OPTIONS=check_initialization_order=true:strict_init_order=true %t 2>&1 \
+// RUN: ASAN_OPTIONS=check_initialization_order=true:strict_init_order=true not %t 2>&1 \
 // RUN:    | FileCheck %s
 // RUN: %clangxx_asan -O0 %p/../Helpers/initialization-bug-extra.cc %s -o %t
-// RUN: ASAN_OPTIONS=check_initialization_order=true:strict_init_order=true %t 2>&1 \
+// RUN: ASAN_OPTIONS=check_initialization_order=true:strict_init_order=true not %t 2>&1 \
 // RUN:    | FileCheck %s
 
 // Do not test with optimization -- the error may be optimized away.
diff --git a/lib/asan/lit_tests/TestCases/Linux/interception_malloc_test.cc b/lib/asan/lit_tests/TestCases/Linux/interception_malloc_test.cc
index ca90832..cdd7239 100644
--- a/lib/asan/lit_tests/TestCases/Linux/interception_malloc_test.cc
+++ b/lib/asan/lit_tests/TestCases/Linux/interception_malloc_test.cc
@@ -1,9 +1,9 @@
 // ASan interceptor can be accessed with __interceptor_ prefix.
 
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O1 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O1 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 #include <stdlib.h>
 #include <stdio.h>
 #include <unistd.h>
diff --git a/lib/asan/lit_tests/TestCases/Linux/interception_test.cc b/lib/asan/lit_tests/TestCases/Linux/interception_test.cc
index 0778b20..2b3316d 100644
--- a/lib/asan/lit_tests/TestCases/Linux/interception_test.cc
+++ b/lib/asan/lit_tests/TestCases/Linux/interception_test.cc
@@ -1,9 +1,9 @@
 // ASan interceptor can be accessed with __interceptor_ prefix.
 
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O1 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O1 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 #include <stdlib.h>
 #include <stdio.h>
 
diff --git a/lib/asan/lit_tests/TestCases/Linux/malloc-in-qsort.cc b/lib/asan/lit_tests/TestCases/Linux/malloc-in-qsort.cc
index c2ba82e..73d2bc1 100644
--- a/lib/asan/lit_tests/TestCases/Linux/malloc-in-qsort.cc
+++ b/lib/asan/lit_tests/TestCases/Linux/malloc-in-qsort.cc
@@ -1,6 +1,6 @@
 // RUN: %clangxx_asan -O2 %s -o %t
-// RUN: ASAN_OPTIONS=fast_unwind_on_malloc=1 %t 2>&1 | FileCheck %s --check-prefix=CHECK-FAST
-// RUN: ASAN_OPTIONS=fast_unwind_on_malloc=0 %t 2>&1 | FileCheck %s --check-prefix=CHECK-SLOW
+// RUN: ASAN_OPTIONS=fast_unwind_on_malloc=1 not %t 2>&1 | FileCheck %s --check-prefix=CHECK-FAST
+// RUN: ASAN_OPTIONS=fast_unwind_on_malloc=0 not %t 2>&1 | FileCheck %s --check-prefix=CHECK-SLOW
 
 // Test how well we unwind in presence of qsort in the stack
 // (i.e. if we can unwind through a function compiled w/o frame pointers).
diff --git a/lib/asan/lit_tests/TestCases/Linux/malloc_delete_mismatch.cc b/lib/asan/lit_tests/TestCases/Linux/malloc_delete_mismatch.cc
index 984ac8f..c39dcf6 100644
--- a/lib/asan/lit_tests/TestCases/Linux/malloc_delete_mismatch.cc
+++ b/lib/asan/lit_tests/TestCases/Linux/malloc_delete_mismatch.cc
@@ -2,7 +2,7 @@
 // is set.
 
 // RUN: %clangxx_asan -g %s -o %t 2>&1
-// RUN: ASAN_OPTIONS=alloc_dealloc_mismatch=1 %t 2>&1 | FileCheck %s
+// RUN: ASAN_OPTIONS=alloc_dealloc_mismatch=1 not %t 2>&1 | FileCheck %s
 
 // No error here.
 // RUN: ASAN_OPTIONS=alloc_dealloc_mismatch=0 %t
diff --git a/lib/asan/lit_tests/TestCases/Linux/overflow-in-qsort.cc b/lib/asan/lit_tests/TestCases/Linux/overflow-in-qsort.cc
index f4f2ca0..1399772 100644
--- a/lib/asan/lit_tests/TestCases/Linux/overflow-in-qsort.cc
+++ b/lib/asan/lit_tests/TestCases/Linux/overflow-in-qsort.cc
@@ -1,6 +1,6 @@
 // RUN: %clangxx_asan -O2 %s -o %t
-// RUN: ASAN_OPTIONS=fast_unwind_on_fatal=1 %t 2>&1 | FileCheck %s --check-prefix=CHECK-FAST
-// RUN: ASAN_OPTIONS=fast_unwind_on_fatal=0 %t 2>&1 | FileCheck %s --check-prefix=CHECK-SLOW
+// RUN: ASAN_OPTIONS=fast_unwind_on_fatal=1 not %t 2>&1 | FileCheck %s --check-prefix=CHECK-FAST
+// RUN: ASAN_OPTIONS=fast_unwind_on_fatal=0 not %t 2>&1 | FileCheck %s --check-prefix=CHECK-SLOW
 
 // Test how well we unwind in presence of qsort in the stack
 // (i.e. if we can unwind through a function compiled w/o frame pointers).
diff --git a/lib/asan/lit_tests/TestCases/Linux/ptrace.cc b/lib/asan/lit_tests/TestCases/Linux/ptrace.cc
index c6195f6..8831b81 100644
--- a/lib/asan/lit_tests/TestCases/Linux/ptrace.cc
+++ b/lib/asan/lit_tests/TestCases/Linux/ptrace.cc
@@ -1,5 +1,5 @@
 // RUN: %clangxx_asan -O0 %s -o %t && %t
-// RUN: %clangxx_asan -DPOSITIVE -O0 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DPOSITIVE -O0 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <assert.h>
 #include <stdio.h>
diff --git a/lib/asan/lit_tests/TestCases/Linux/rlimit_mmap_test.cc b/lib/asan/lit_tests/TestCases/Linux/rlimit_mmap_test.cc
index 8679475..0d1d4ba 100644
--- a/lib/asan/lit_tests/TestCases/Linux/rlimit_mmap_test.cc
+++ b/lib/asan/lit_tests/TestCases/Linux/rlimit_mmap_test.cc
@@ -1,5 +1,5 @@
 // Check that we properly report mmap failure.
-// RUN: %clangxx_asan %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan %s -o %t && not %t 2>&1 | FileCheck %s
 #include <stdlib.h>
 #include <assert.h>
 #include <sys/time.h>
diff --git a/lib/asan/lit_tests/TestCases/Linux/syscalls.cc b/lib/asan/lit_tests/TestCases/Linux/syscalls.cc
index 7352914..b1ffe63 100644
--- a/lib/asan/lit_tests/TestCases/Linux/syscalls.cc
+++ b/lib/asan/lit_tests/TestCases/Linux/syscalls.cc
@@ -1,5 +1,5 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <assert.h>
 #include <errno.h>
diff --git a/lib/asan/lit_tests/TestCases/Linux/zero-base-shadow32.cc b/lib/asan/lit_tests/TestCases/Linux/zero-base-shadow32.cc
index c2fe534..e6bcc55 100644
--- a/lib/asan/lit_tests/TestCases/Linux/zero-base-shadow32.cc
+++ b/lib/asan/lit_tests/TestCases/Linux/zero-base-shadow32.cc
@@ -1,9 +1,9 @@
 // RUN: %clangxx_asan -O0 -fsanitize-address-zero-base-shadow -fPIE -pie %s -o %t
-// RUN: %t 2>&1 | FileCheck %s
+// RUN: not %t 2>&1 | FileCheck %s
 // RUN: %clangxx_asan -O1 -fsanitize-address-zero-base-shadow -fPIE -pie %s -o %t
-// RUN: %t 2>&1 | FileCheck %s
+// RUN: not %t 2>&1 | FileCheck %s
 // RUN: %clangxx_asan -O2 -fsanitize-address-zero-base-shadow -fPIE -pie %s -o %t
-// RUN: %t 2>&1 | FileCheck %s
+// RUN: not %t 2>&1 | FileCheck %s
 
 // Zero-base shadow only works on x86_64 and i386.
 // REQUIRES: i386-supported-target, asan-32-bits
diff --git a/lib/asan/lit_tests/TestCases/Linux/zero-base-shadow64.cc b/lib/asan/lit_tests/TestCases/Linux/zero-base-shadow64.cc
index 12113d5..1db725c 100644
--- a/lib/asan/lit_tests/TestCases/Linux/zero-base-shadow64.cc
+++ b/lib/asan/lit_tests/TestCases/Linux/zero-base-shadow64.cc
@@ -1,9 +1,9 @@
 // RUN: %clangxx_asan -O0 -fsanitize-address-zero-base-shadow -fPIE -pie %s -o %t
-// RUN: %t 2>&1 | FileCheck %s
+// RUN: not %t 2>&1 | FileCheck %s
 // RUN: %clangxx_asan -O1 -fsanitize-address-zero-base-shadow -fPIE -pie %s -o %t
-// RUN: %t 2>&1 | FileCheck %s
+// RUN: not %t 2>&1 | FileCheck %s
 // RUN: %clangxx_asan -O2 -fsanitize-address-zero-base-shadow -fPIE -pie %s -o %t
-// RUN: %t 2>&1 | FileCheck %s
+// RUN: not %t 2>&1 | FileCheck %s
 
 // Zero-base shadow only works on x86_64 and i386.
 // REQUIRES: x86_64-supported-target, asan-64-bits
diff --git a/lib/asan/lit_tests/TestCases/allow_user_segv.cc b/lib/asan/lit_tests/TestCases/allow_user_segv.cc
index a10af86..55cf604 100644
--- a/lib/asan/lit_tests/TestCases/allow_user_segv.cc
+++ b/lib/asan/lit_tests/TestCases/allow_user_segv.cc
@@ -1,8 +1,8 @@
 // Regression test for
 // https://code.google.com/p/address-sanitizer/issues/detail?id=180
 
-// RUN: %clangxx_asan -O0 %s -o %t && ASAN_OPTIONS=allow_user_segv_handler=true %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O2 %s -o %t && ASAN_OPTIONS=allow_user_segv_handler=true %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && ASAN_OPTIONS=allow_user_segv_handler=true not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && ASAN_OPTIONS=allow_user_segv_handler=true not %t 2>&1 | FileCheck %s
 
 #include <signal.h>
 #include <stdio.h>
diff --git a/lib/asan/lit_tests/TestCases/asan-symbolize-sanity-test.cc b/lib/asan/lit_tests/TestCases/asan-symbolize-sanity-test.cc
index a539ca3..0efe245 100644
--- a/lib/asan/lit_tests/TestCases/asan-symbolize-sanity-test.cc
+++ b/lib/asan/lit_tests/TestCases/asan-symbolize-sanity-test.cc
@@ -3,7 +3,7 @@
 
 // RUN: %clangxx_asan -O0 %p/SharedLibs/shared-lib-test-so.cc -fPIC -shared -o %t-so.so
 // RUN: %clangxx_asan -O0 %s -o %t
-// RUN: ASAN_SYMBOLIZER_PATH= %t 2>&1 | %asan_symbolize | FileCheck %s
+// RUN: ASAN_SYMBOLIZER_PATH= not %t 2>&1 | %asan_symbolize | FileCheck %s
 #include <dlfcn.h>
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/lib/asan/lit_tests/TestCases/deep_stack_uaf.cc b/lib/asan/lit_tests/TestCases/deep_stack_uaf.cc
index 6ab515e..920411c 100644
--- a/lib/asan/lit_tests/TestCases/deep_stack_uaf.cc
+++ b/lib/asan/lit_tests/TestCases/deep_stack_uaf.cc
@@ -1,7 +1,7 @@
 // Check that we can store lots of stack frames if asked to.
 
 // RUN: %clangxx_asan -O0 %s -o %t 2>&1
-// RUN: ASAN_OPTIONS=malloc_context_size=120:redzone=512 %t 2>&1 | FileCheck %s
+// RUN: ASAN_OPTIONS=malloc_context_size=120:redzone=512 not %t 2>&1 | FileCheck %s
 #include <stdlib.h>
 #include <stdio.h>
 
diff --git a/lib/asan/lit_tests/TestCases/deep_tail_call.cc b/lib/asan/lit_tests/TestCases/deep_tail_call.cc
index 8a1b3e8..2e7aa8e 100644
--- a/lib/asan/lit_tests/TestCases/deep_tail_call.cc
+++ b/lib/asan/lit_tests/TestCases/deep_tail_call.cc
@@ -1,7 +1,7 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O1 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O1 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
 // CHECK: AddressSanitizer: global-buffer-overflow
 int global[10];
diff --git a/lib/asan/lit_tests/TestCases/deep_thread_stack.cc b/lib/asan/lit_tests/TestCases/deep_thread_stack.cc
index 10954f2..92e0d66 100644
--- a/lib/asan/lit_tests/TestCases/deep_thread_stack.cc
+++ b/lib/asan/lit_tests/TestCases/deep_thread_stack.cc
@@ -1,7 +1,7 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O1 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O1 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <pthread.h>
 
diff --git a/lib/asan/lit_tests/TestCases/double-free.cc b/lib/asan/lit_tests/TestCases/double-free.cc
index a3d307d..738a894 100644
--- a/lib/asan/lit_tests/TestCases/double-free.cc
+++ b/lib/asan/lit_tests/TestCases/double-free.cc
@@ -1,4 +1,4 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <stdlib.h>
 #include <string.h>
diff --git a/lib/asan/lit_tests/TestCases/global-demangle.cc b/lib/asan/lit_tests/TestCases/global-demangle.cc
index bad37da..d050b70 100644
--- a/lib/asan/lit_tests/TestCases/global-demangle.cc
+++ b/lib/asan/lit_tests/TestCases/global-demangle.cc
@@ -1,4 +1,4 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
 
 namespace XXX {
 class YYY {
diff --git a/lib/asan/lit_tests/TestCases/global-overflow.cc b/lib/asan/lit_tests/TestCases/global-overflow.cc
index 7e7a041..0f080f5 100644
--- a/lib/asan/lit_tests/TestCases/global-overflow.cc
+++ b/lib/asan/lit_tests/TestCases/global-overflow.cc
@@ -1,7 +1,7 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O1 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O1 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <string.h>
 int main(int argc, char **argv) {
diff --git a/lib/asan/lit_tests/TestCases/huge_negative_hea_oob.cc b/lib/asan/lit_tests/TestCases/huge_negative_hea_oob.cc
index 52def29..58a44c5 100644
--- a/lib/asan/lit_tests/TestCases/huge_negative_hea_oob.cc
+++ b/lib/asan/lit_tests/TestCases/huge_negative_hea_oob.cc
@@ -1,5 +1,5 @@
-// RUN: %clangxx_asan %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O %s -o %t && not %t 2>&1 | FileCheck %s
 // Check that we can find huge buffer overflows to the left.
 #include <stdlib.h>
 #include <string.h>
diff --git a/lib/asan/lit_tests/TestCases/init-order-atexit.cc b/lib/asan/lit_tests/TestCases/init-order-atexit.cc
index 9ed79a7..b5551df 100644
--- a/lib/asan/lit_tests/TestCases/init-order-atexit.cc
+++ b/lib/asan/lit_tests/TestCases/init-order-atexit.cc
@@ -5,7 +5,7 @@
 // We do *not* want to report init-order bug in this case.
 
 // RUN: %clangxx_asan -O0 %s %p/Helpers/init-order-atexit-extra.cc -o %t
-// RUN: ASAN_OPTIONS=check_initialization_order=true:strict_init_order=true %t 2>&1 | FileCheck %s
+// RUN: ASAN_OPTIONS=check_initialization_order=true:strict_init_order=true not %t 2>&1 | FileCheck %s
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/lib/asan/lit_tests/TestCases/initialization-bug.cc b/lib/asan/lit_tests/TestCases/initialization-bug.cc
index 3a05cc2..fb289b1 100644
--- a/lib/asan/lit_tests/TestCases/initialization-bug.cc
+++ b/lib/asan/lit_tests/TestCases/initialization-bug.cc
@@ -1,7 +1,7 @@
 // Test to make sure basic initialization order errors are caught.
 
 // RUN: %clangxx_asan -O0 %s %p/Helpers/initialization-bug-extra2.cc -o %t
-// RUN: ASAN_OPTIONS=check_initialization_order=true %t 2>&1 | FileCheck %s
+// RUN: ASAN_OPTIONS=check_initialization_order=true not %t 2>&1 | FileCheck %s
 
 // Do not test with optimization -- the error may be optimized away.
 
diff --git a/lib/asan/lit_tests/TestCases/invalid-free.cc b/lib/asan/lit_tests/TestCases/invalid-free.cc
index 8e1c086..aeca536 100644
--- a/lib/asan/lit_tests/TestCases/invalid-free.cc
+++ b/lib/asan/lit_tests/TestCases/invalid-free.cc
@@ -1,4 +1,4 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <stdlib.h>
 #include <string.h>
diff --git a/lib/asan/lit_tests/TestCases/ioctl.cc b/lib/asan/lit_tests/TestCases/ioctl.cc
index 9a4a385..08ca688 100644
--- a/lib/asan/lit_tests/TestCases/ioctl.cc
+++ b/lib/asan/lit_tests/TestCases/ioctl.cc
@@ -1,5 +1,5 @@
-// RUN: %clangxx_asan -O0 -g %s -o %t && ASAN_OPTIONS=handle_ioctl=1 %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O3 -g %s -o %t && ASAN_OPTIONS=handle_ioctl=1 %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 -g %s -o %t && ASAN_OPTIONS=handle_ioctl=1 not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O3 -g %s -o %t && ASAN_OPTIONS=handle_ioctl=1 not %t 2>&1 | FileCheck %s
 
 // RUN: %clangxx_asan -O0 -g %s -o %t && %t
 // RUN: %clangxx_asan -O3 -g %s -o %t && %t
diff --git a/lib/asan/lit_tests/TestCases/memcmp_strict_test.cc b/lib/asan/lit_tests/TestCases/memcmp_strict_test.cc
index a29282b..e06a8c7 100644
--- a/lib/asan/lit_tests/TestCases/memcmp_strict_test.cc
+++ b/lib/asan/lit_tests/TestCases/memcmp_strict_test.cc
@@ -1,7 +1,7 @@
-// RUN: %clangxx_asan -O0 %s -o %t && ASAN_OPTIONS=strict_memcmp=0 %t 2>&1 | FileCheck %s --check-prefix=CHECK-nonstrict
-// RUN: %clangxx_asan -O0 %s -o %t && ASAN_OPTIONS=strict_memcmp=1 %t 2>&1 | FileCheck %s --check-prefix=CHECK-strict
+// RUN: %clangxx_asan -O0 %s -o %t && ASAN_OPTIONS=strict_memcmp=0 %t
+// RUN: %clangxx_asan -O0 %s -o %t && ASAN_OPTIONS=strict_memcmp=1 not %t 2>&1 | FileCheck %s
 // Default to strict_memcmp=1.
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s --check-prefix=CHECK-strict
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <stdio.h>
 #include <string.h>
@@ -10,7 +10,6 @@
   char kFubar[] = "fubar";
   int res = memcmp(kFoo, kFubar, strlen(kFubar));
   printf("res: %d\n", res);
-  // CHECK-nonstrict: {{res: -1}}
-  // CHECK-strict: AddressSanitizer: stack-buffer-overflow
+  // CHECK: AddressSanitizer: stack-buffer-overflow
   return 0;
 }
diff --git a/lib/asan/lit_tests/TestCases/memcmp_test.cc b/lib/asan/lit_tests/TestCases/memcmp_test.cc
index 2d7d4f4..32067a9 100644
--- a/lib/asan/lit_tests/TestCases/memcmp_test.cc
+++ b/lib/asan/lit_tests/TestCases/memcmp_test.cc
@@ -1,7 +1,7 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O1 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O1 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <string.h>
 int main(int argc, char **argv) {
diff --git a/lib/asan/lit_tests/TestCases/on_error_callback.cc b/lib/asan/lit_tests/TestCases/on_error_callback.cc
index bb94d9f..d0cec2e 100644
--- a/lib/asan/lit_tests/TestCases/on_error_callback.cc
+++ b/lib/asan/lit_tests/TestCases/on_error_callback.cc
@@ -1,4 +1,4 @@
-// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/lib/asan/lit_tests/TestCases/partial_right.cc b/lib/asan/lit_tests/TestCases/partial_right.cc
index 0beece3..a000a91 100644
--- a/lib/asan/lit_tests/TestCases/partial_right.cc
+++ b/lib/asan/lit_tests/TestCases/partial_right.cc
@@ -1,7 +1,7 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O1 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O1 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <stdlib.h>
 int main(int argc, char **argv) {
diff --git a/lib/asan/lit_tests/TestCases/readv.cc b/lib/asan/lit_tests/TestCases/readv.cc
index 920ebc8..ba17505 100644
--- a/lib/asan/lit_tests/TestCases/readv.cc
+++ b/lib/asan/lit_tests/TestCases/readv.cc
@@ -1,5 +1,5 @@
 // RUN: %clangxx_asan -O0 %s -o %t && %t
-// RUN: %clangxx_asan -O0 %s -DPOSITIVE -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -DPOSITIVE -o %t && not %t 2>&1 | FileCheck %s
 
 // Test the readv() interceptor.
 
diff --git a/lib/asan/lit_tests/TestCases/sanity_check_pure_c.c b/lib/asan/lit_tests/TestCases/sanity_check_pure_c.c
index 3eb9931..df15067 100644
--- a/lib/asan/lit_tests/TestCases/sanity_check_pure_c.c
+++ b/lib/asan/lit_tests/TestCases/sanity_check_pure_c.c
@@ -1,10 +1,10 @@
 // Sanity checking a test in pure C.
 // RUN: %clang_asan -O2 %s -o %t
-// RUN: %t 2>&1 | FileCheck %s
+// RUN: not %t 2>&1 | FileCheck %s
 
 // Sanity checking a test in pure C with -pie.
 // RUN: %clang_asan -O2 %s -pie -o %t
-// RUN: %t 2>&1 | FileCheck %s
+// RUN: not %t 2>&1 | FileCheck %s
 
 #include <stdlib.h>
 int main() {
diff --git a/lib/asan/lit_tests/TestCases/shared-lib-test.cc b/lib/asan/lit_tests/TestCases/shared-lib-test.cc
index e025e6f..126903a 100644
--- a/lib/asan/lit_tests/TestCases/shared-lib-test.cc
+++ b/lib/asan/lit_tests/TestCases/shared-lib-test.cc
@@ -1,15 +1,15 @@
 // RUN: %clangxx_asan -O0 %p/SharedLibs/shared-lib-test-so.cc \
 // RUN:     -fPIC -shared -o %t-so.so
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
 // RUN: %clangxx_asan -O1 %p/SharedLibs/shared-lib-test-so.cc \
 // RUN:     -fPIC -shared -o %t-so.so
-// RUN: %clangxx_asan -O1 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O1 %s -o %t && not %t 2>&1 | FileCheck %s
 // RUN: %clangxx_asan -O2 %p/SharedLibs/shared-lib-test-so.cc \
 // RUN:     -fPIC -shared -o %t-so.so
-// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && not %t 2>&1 | FileCheck %s
 // RUN: %clangxx_asan -O3 %p/SharedLibs/shared-lib-test-so.cc \
 // RUN:     -fPIC -shared -o %t-so.so
-// RUN: %clangxx_asan -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <dlfcn.h>
 #include <stdio.h>
diff --git a/lib/asan/lit_tests/TestCases/sleep_before_dying.c b/lib/asan/lit_tests/TestCases/sleep_before_dying.c
index 31ee50b..8dee9f2 100644
--- a/lib/asan/lit_tests/TestCases/sleep_before_dying.c
+++ b/lib/asan/lit_tests/TestCases/sleep_before_dying.c
@@ -1,5 +1,5 @@
 // RUN: %clang_asan -O2 %s -o %t
-// RUN: ASAN_OPTIONS="sleep_before_dying=1" %t 2>&1 | FileCheck %s
+// RUN: ASAN_OPTIONS="sleep_before_dying=1" not %t 2>&1 | FileCheck %s
 
 #include <stdlib.h>
 int main() {
diff --git a/lib/asan/lit_tests/TestCases/stack-frame-demangle.cc b/lib/asan/lit_tests/TestCases/stack-frame-demangle.cc
index 68f3872..2b83ecc 100644
--- a/lib/asan/lit_tests/TestCases/stack-frame-demangle.cc
+++ b/lib/asan/lit_tests/TestCases/stack-frame-demangle.cc
@@ -1,4 +1,4 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <string.h>
 
diff --git a/lib/asan/lit_tests/TestCases/stack-oob-frames.cc b/lib/asan/lit_tests/TestCases/stack-oob-frames.cc
index dc2615c..909e700 100644
--- a/lib/asan/lit_tests/TestCases/stack-oob-frames.cc
+++ b/lib/asan/lit_tests/TestCases/stack-oob-frames.cc
@@ -1,8 +1,8 @@
 // RUN: %clangxx_asan -O1 %s -o %t
-// RUN: %t 0 2>&1 | FileCheck %s --check-prefix=CHECK0
-// RUN: %t 1 2>&1 | FileCheck %s --check-prefix=CHECK1
-// RUN: %t 2 2>&1 | FileCheck %s --check-prefix=CHECK2
-// RUN: %t 3 2>&1 | FileCheck %s --check-prefix=CHECK3
+// RUN: not %t 0 2>&1 | FileCheck %s --check-prefix=CHECK0
+// RUN: not %t 1 2>&1 | FileCheck %s --check-prefix=CHECK1
+// RUN: not %t 2 2>&1 | FileCheck %s --check-prefix=CHECK2
+// RUN: not %t 3 2>&1 | FileCheck %s --check-prefix=CHECK3
 
 #define NOINLINE __attribute__((noinline))
 inline void break_optimization(void *arg) {
diff --git a/lib/asan/lit_tests/TestCases/stack-overflow.cc b/lib/asan/lit_tests/TestCases/stack-overflow.cc
index 8569535..adf1c07 100644
--- a/lib/asan/lit_tests/TestCases/stack-overflow.cc
+++ b/lib/asan/lit_tests/TestCases/stack-overflow.cc
@@ -1,7 +1,7 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O1 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O1 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <string.h>
 int main(int argc, char **argv) {
diff --git a/lib/asan/lit_tests/TestCases/strdup_oob_test.cc b/lib/asan/lit_tests/TestCases/strdup_oob_test.cc
index bdaef4f..e92afd3 100644
--- a/lib/asan/lit_tests/TestCases/strdup_oob_test.cc
+++ b/lib/asan/lit_tests/TestCases/strdup_oob_test.cc
@@ -1,7 +1,7 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O1 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O1 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <string.h>
 
diff --git a/lib/asan/lit_tests/TestCases/strip_path_prefix.c b/lib/asan/lit_tests/TestCases/strip_path_prefix.c
index fbfa961..c4d6ba4 100644
--- a/lib/asan/lit_tests/TestCases/strip_path_prefix.c
+++ b/lib/asan/lit_tests/TestCases/strip_path_prefix.c
@@ -1,5 +1,5 @@
 // RUN: %clang_asan -O2 %s -o %t
-// RUN: ASAN_OPTIONS="strip_path_prefix='/'" %t 2>&1 | FileCheck %s
+// RUN: ASAN_OPTIONS="strip_path_prefix='/'" not %t 2>&1 | FileCheck %s
 
 #include <stdlib.h>
 int main() {
diff --git a/lib/asan/lit_tests/TestCases/symbolize_callback.cc b/lib/asan/lit_tests/TestCases/symbolize_callback.cc
index 0691d50..058b315 100644
--- a/lib/asan/lit_tests/TestCases/symbolize_callback.cc
+++ b/lib/asan/lit_tests/TestCases/symbolize_callback.cc
@@ -1,4 +1,4 @@
-// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 %s -o %t && not %t 2>&1 | FileCheck %s
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/lib/asan/lit_tests/TestCases/time_interceptor.cc b/lib/asan/lit_tests/TestCases/time_interceptor.cc
index e270af9..3be00d6 100644
--- a/lib/asan/lit_tests/TestCases/time_interceptor.cc
+++ b/lib/asan/lit_tests/TestCases/time_interceptor.cc
@@ -1,4 +1,4 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
 
 // Test the time() interceptor.
 
diff --git a/lib/asan/lit_tests/TestCases/unaligned_loads_and_stores.cc b/lib/asan/lit_tests/TestCases/unaligned_loads_and_stores.cc
index c46d42e..d50566c 100644
--- a/lib/asan/lit_tests/TestCases/unaligned_loads_and_stores.cc
+++ b/lib/asan/lit_tests/TestCases/unaligned_loads_and_stores.cc
@@ -1,15 +1,15 @@
 // RUN: %clangxx_asan -O0 %s -o %t
-// RUN: %t A 2>&1 | FileCheck --check-prefix=CHECK-A %s
-// RUN: %t B 2>&1 | FileCheck --check-prefix=CHECK-B %s
-// RUN: %t C 2>&1 | FileCheck --check-prefix=CHECK-C %s
-// RUN: %t D 2>&1 | FileCheck --check-prefix=CHECK-D %s
-// RUN: %t E 2>&1 | FileCheck --check-prefix=CHECK-E %s
+// RUN: not %t A 2>&1 | FileCheck --check-prefix=CHECK-A %s
+// RUN: not %t B 2>&1 | FileCheck --check-prefix=CHECK-B %s
+// RUN: not %t C 2>&1 | FileCheck --check-prefix=CHECK-C %s
+// RUN: not %t D 2>&1 | FileCheck --check-prefix=CHECK-D %s
+// RUN: not %t E 2>&1 | FileCheck --check-prefix=CHECK-E %s
 
-// RUN: %t K 2>&1 | FileCheck --check-prefix=CHECK-K %s
-// RUN: %t L 2>&1 | FileCheck --check-prefix=CHECK-L %s
-// RUN: %t M 2>&1 | FileCheck --check-prefix=CHECK-M %s
-// RUN: %t N 2>&1 | FileCheck --check-prefix=CHECK-N %s
-// RUN: %t O 2>&1 | FileCheck --check-prefix=CHECK-O %s
+// RUN: not %t K 2>&1 | FileCheck --check-prefix=CHECK-K %s
+// RUN: not %t L 2>&1 | FileCheck --check-prefix=CHECK-L %s
+// RUN: not %t M 2>&1 | FileCheck --check-prefix=CHECK-M %s
+// RUN: not %t N 2>&1 | FileCheck --check-prefix=CHECK-N %s
+// RUN: not %t O 2>&1 | FileCheck --check-prefix=CHECK-O %s
 
 #include <sanitizer/asan_interface.h>
 
diff --git a/lib/asan/lit_tests/TestCases/use-after-poison.cc b/lib/asan/lit_tests/TestCases/use-after-poison.cc
index 33c1ab5..e3bc6ec 100644
--- a/lib/asan/lit_tests/TestCases/use-after-poison.cc
+++ b/lib/asan/lit_tests/TestCases/use-after-poison.cc
@@ -1,5 +1,5 @@
 // Check that __asan_poison_memory_region works.
-// RUN: %clangxx_asan -O0 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O0 %s -o %t && not %t 2>&1 | FileCheck %s
 //
 // Check that we can disable it
 // RUN: ASAN_OPTIONS=allow_user_poisoning=0 %t
diff --git a/lib/asan/lit_tests/TestCases/use-after-scope-dtor-order.cc b/lib/asan/lit_tests/TestCases/use-after-scope-dtor-order.cc
index 11179e6..32fa6ad 100644
--- a/lib/asan/lit_tests/TestCases/use-after-scope-dtor-order.cc
+++ b/lib/asan/lit_tests/TestCases/use-after-scope-dtor-order.cc
@@ -1,5 +1,5 @@
 // RUN: %clangxx_asan -O0 -fsanitize=use-after-scope %s -o %t && \
-// RUN:     %t 2>&1 | FileCheck %s
+// RUN:     not %t 2>&1 | FileCheck %s
 #include <stdio.h>
 
 struct IntHolder {
diff --git a/lib/asan/lit_tests/TestCases/use-after-scope-inlined.cc b/lib/asan/lit_tests/TestCases/use-after-scope-inlined.cc
index 4e830d8..0bad048 100644
--- a/lib/asan/lit_tests/TestCases/use-after-scope-inlined.cc
+++ b/lib/asan/lit_tests/TestCases/use-after-scope-inlined.cc
@@ -2,7 +2,7 @@
 // happens. "always_inline" is not enough, as Clang doesn't emit
 // llvm.lifetime intrinsics at -O0.
 //
-// RUN: %clangxx_asan -O2 -fsanitize=use-after-scope %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -O2 -fsanitize=use-after-scope %s -o %t && not %t 2>&1 | FileCheck %s
 
 int *arr;
 
diff --git a/lib/asan/lit_tests/TestCases/use-after-scope.cc b/lib/asan/lit_tests/TestCases/use-after-scope.cc
index e8bb302..4afe0bb 100644
--- a/lib/asan/lit_tests/TestCases/use-after-scope.cc
+++ b/lib/asan/lit_tests/TestCases/use-after-scope.cc
@@ -1,5 +1,5 @@
 // RUN: %clangxx_asan -O0 -fsanitize=use-after-scope %s -o %t && \
-// RUN:     %t 2>&1 | FileCheck %s
+// RUN:     not %t 2>&1 | FileCheck %s
 
 int main() {
   int *p = 0;
diff --git a/lib/asan/lit_tests/TestCases/wait.cc b/lib/asan/lit_tests/TestCases/wait.cc
index 7095b37..b5580dc 100644
--- a/lib/asan/lit_tests/TestCases/wait.cc
+++ b/lib/asan/lit_tests/TestCases/wait.cc
@@ -1,23 +1,23 @@
-// RUN: %clangxx_asan -DWAIT -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -DWAIT -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAIT -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAIT -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
-// RUN: %clangxx_asan -DWAITPID -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -DWAITPID -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAITPID -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAITPID -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
-// RUN: %clangxx_asan -DWAITID -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -DWAITID -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAITID -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAITID -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
-// RUN: %clangxx_asan -DWAIT3 -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -DWAIT3 -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAIT3 -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAIT3 -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
-// RUN: %clangxx_asan -DWAIT4 -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -DWAIT4 -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAIT4 -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAIT4 -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
-// RUN: %clangxx_asan -DWAIT3_RUSAGE -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -DWAIT3_RUSAGE -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAIT3_RUSAGE -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAIT3_RUSAGE -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
-// RUN: %clangxx_asan -DWAIT4_RUSAGE -O0 %s -o %t && %t 2>&1 | FileCheck %s
-// RUN: %clangxx_asan -DWAIT4_RUSAGE -O3 %s -o %t && %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAIT4_RUSAGE -O0 %s -o %t && not %t 2>&1 | FileCheck %s
+// RUN: %clangxx_asan -DWAIT4_RUSAGE -O3 %s -o %t && not %t 2>&1 | FileCheck %s
 
 
 #include <assert.h>
diff --git a/lib/asan/lit_tests/lit.cfg b/lib/asan/lit_tests/lit.cfg
index 3b601de..1e78436 100644
--- a/lib/asan/lit_tests/lit.cfg
+++ b/lib/asan/lit_tests/lit.cfg
@@ -84,7 +84,6 @@
 
 # Default test suffixes.
 config.suffixes = ['.c', '.cc', '.cpp']
-config.pipefail = False
 
 # AddressSanitizer tests are currently supported on Linux and Darwin only.
 if config.host_os not in ['Linux', 'Darwin']: