[compiler-rt] r300592 - Allow for setting of global platform-specific lsan options in the test suite

Francis Ricci via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 18 13:56:56 PDT 2017


Author: fjricci
Date: Tue Apr 18 15:56:56 2017
New Revision: 300592

URL: http://llvm.org/viewvc/llvm-project?rev=300592&view=rev
Log:
Allow for setting of global platform-specific lsan options in the test suite

Reviewers: kubamracek, alekseyshl

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D32131

Modified:
    compiler-rt/trunk/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c
    compiler-rt/trunk/test/lsan/TestCases/Linux/disabler_in_tsd_destructor.c
    compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_dynamic.cc
    compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_pthread_specific_dynamic.cc
    compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_pthread_specific_static.cc
    compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_static.cc
    compiler-rt/trunk/test/lsan/TestCases/disabler.c
    compiler-rt/trunk/test/lsan/TestCases/disabler.cc
    compiler-rt/trunk/test/lsan/TestCases/do_leak_check_override.cc
    compiler-rt/trunk/test/lsan/TestCases/high_allocator_contention.cc
    compiler-rt/trunk/test/lsan/TestCases/ignore_object.c
    compiler-rt/trunk/test/lsan/TestCases/ignore_object_errors.cc
    compiler-rt/trunk/test/lsan/TestCases/large_allocation_leak.cc
    compiler-rt/trunk/test/lsan/TestCases/leak_check_at_exit.cc
    compiler-rt/trunk/test/lsan/TestCases/leak_check_before_thread_started.cc
    compiler-rt/trunk/test/lsan/TestCases/link_turned_off.cc
    compiler-rt/trunk/test/lsan/TestCases/pointer_to_self.cc
    compiler-rt/trunk/test/lsan/TestCases/print_suppressions.cc
    compiler-rt/trunk/test/lsan/TestCases/recoverable_leak_check.cc
    compiler-rt/trunk/test/lsan/TestCases/register_root_region.cc
    compiler-rt/trunk/test/lsan/TestCases/stale_stack_leak.cc
    compiler-rt/trunk/test/lsan/TestCases/suppressions_default.cc
    compiler-rt/trunk/test/lsan/TestCases/suppressions_file.cc
    compiler-rt/trunk/test/lsan/TestCases/swapcontext.cc
    compiler-rt/trunk/test/lsan/TestCases/use_after_return.cc
    compiler-rt/trunk/test/lsan/TestCases/use_globals_initialized.cc
    compiler-rt/trunk/test/lsan/TestCases/use_globals_uninitialized.cc
    compiler-rt/trunk/test/lsan/TestCases/use_poisoned_asan.cc
    compiler-rt/trunk/test/lsan/TestCases/use_registers.cc
    compiler-rt/trunk/test/lsan/TestCases/use_stacks.cc
    compiler-rt/trunk/test/lsan/TestCases/use_stacks_threaded.cc
    compiler-rt/trunk/test/lsan/TestCases/use_unaligned.cc
    compiler-rt/trunk/test/lsan/lit.common.cfg

Modified: compiler-rt/trunk/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c (original)
+++ compiler-rt/trunk/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c Tue Apr 18 15:56:56 2017
@@ -5,8 +5,8 @@
 // makes its best effort.
 // RUN: LSAN_BASE="report_objects=1:use_registers=0:use_stacks=0:use_globals=0"
 // RUN: %clang_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:use_tls=1 %run %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:use_tls=0 not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:use_tls=1 %run %t
+// RUN: %env_lsan_opts=$LSAN_BASE:use_tls=0 not %run %t 2>&1 | FileCheck %s
 
 #include <assert.h>
 #include <pthread.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/Linux/disabler_in_tsd_destructor.c
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/Linux/disabler_in_tsd_destructor.c?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/Linux/disabler_in_tsd_destructor.c (original)
+++ compiler-rt/trunk/test/lsan/TestCases/Linux/disabler_in_tsd_destructor.c Tue Apr 18 15:56:56 2017
@@ -1,7 +1,7 @@
 // Regression test. Disabler should not depend on TSD validity.
 // RUN: LSAN_BASE="report_objects=1:use_registers=0:use_stacks=0:use_globals=0:use_tls=1:use_ld_allocations=0"
 // RUN: %clang_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t
+// RUN: %env_lsan_opts=$LSAN_BASE %run %t
 
 #include <assert.h>
 #include <pthread.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_dynamic.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_dynamic.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_dynamic.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_dynamic.cc Tue Apr 18 15:56:56 2017
@@ -2,9 +2,9 @@
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0:use_ld_allocations=0"
 // RUN: %clangxx %s -DBUILD_DSO -fPIC -shared -o %t-so.so
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=0" not %run %t 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=1" %run %t 2>&1
-// RUN: LSAN_OPTIONS="" %run %t 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_tls=0" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_tls=1" %run %t 2>&1
+// RUN: %env_lsan_opts="" %run %t 2>&1
 // UNSUPPORTED: i386-linux,i686-linux,arm
 
 #ifndef BUILD_DSO

Modified: compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_pthread_specific_dynamic.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_pthread_specific_dynamic.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_pthread_specific_dynamic.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_pthread_specific_dynamic.cc Tue Apr 18 15:56:56 2017
@@ -1,9 +1,9 @@
 // Test that dynamically allocated thread-specific storage is included in the root set.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=0" not %run %t 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=1" %run %t 2>&1
-// RUN: LSAN_OPTIONS="" %run %t 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_tls=0" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_tls=1" %run %t 2>&1
+// RUN: %env_lsan_opts="" %run %t 2>&1
 
 #include <assert.h>
 #include <pthread.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_pthread_specific_static.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_pthread_specific_static.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_pthread_specific_static.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_pthread_specific_static.cc Tue Apr 18 15:56:56 2017
@@ -1,9 +1,9 @@
 // Test that statically allocated thread-specific storage is included in the root set.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=0" not %run %t 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=1" %run %t 2>&1
-// RUN: LSAN_OPTIONS="" %run %t 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_tls=0" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_tls=1" %run %t 2>&1
+// RUN: %env_lsan_opts="" %run %t 2>&1
 
 #include <assert.h>
 #include <pthread.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_static.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_static.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_static.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_static.cc Tue Apr 18 15:56:56 2017
@@ -1,9 +1,9 @@
 // Test that statically allocated TLS space is included in the root set.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=0" not %run %t 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_tls=1" %run %t 2>&1
-// RUN: LSAN_OPTIONS="" %run %t 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_tls=0" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_tls=1" %run %t 2>&1
+// RUN: %env_lsan_opts="" %run %t 2>&1
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/disabler.c
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/disabler.c?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/disabler.c (original)
+++ compiler-rt/trunk/test/lsan/TestCases/disabler.c Tue Apr 18 15:56:56 2017
@@ -1,7 +1,7 @@
 // Test for __lsan_disable() / __lsan_enable().
 // RUN: LSAN_BASE="report_objects=1:use_registers=0:use_stacks=0:use_globals=0:use_tls=0"
 // RUN: %clang_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/disabler.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/disabler.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/disabler.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/disabler.cc Tue Apr 18 15:56:56 2017
@@ -1,7 +1,7 @@
 // Test for ScopedDisabler.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_registers=0:use_stacks=0:use_globals=0:use_tls=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/do_leak_check_override.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/do_leak_check_override.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/do_leak_check_override.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/do_leak_check_override.cc Tue Apr 18 15:56:56 2017
@@ -3,8 +3,8 @@
 // "normal" mode (LSan runs in "strict" mode by default).
 // RUN: LSAN_BASE="detect_leaks=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck --check-prefix=CHECK-strict %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck --check-prefix=CHECK-normal %s
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t 2>&1 | FileCheck --check-prefix=CHECK-strict %s
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t foo 2>&1 | FileCheck --check-prefix=CHECK-normal %s
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/high_allocator_contention.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/high_allocator_contention.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/high_allocator_contention.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/high_allocator_contention.cc Tue Apr 18 15:56:56 2017
@@ -2,7 +2,7 @@
 // Usage: ./a.out number_of_threads total_number_of_allocations
 // RUN: LSAN_BASE="detect_leaks=1:use_ld_allocations=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t 5 1000000 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE %run %t 5 1000000 2>&1
 #include <assert.h>
 #include <pthread.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/ignore_object.c
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/ignore_object.c?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/ignore_object.c (original)
+++ compiler-rt/trunk/test/lsan/TestCases/ignore_object.c Tue Apr 18 15:56:56 2017
@@ -1,7 +1,7 @@
 // Test for __lsan_ignore_object().
 // RUN: LSAN_BASE="report_objects=1:use_registers=0:use_stacks=0:use_globals=0:use_tls=0"
 // RUN: %clang_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/ignore_object_errors.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/ignore_object_errors.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/ignore_object_errors.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/ignore_object_errors.cc Tue Apr 18 15:56:56 2017
@@ -1,6 +1,6 @@
 // Test for incorrect use of __lsan_ignore_object().
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE %run %t 2>&1 | FileCheck %s
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/large_allocation_leak.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/large_allocation_leak.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/large_allocation_leak.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/large_allocation_leak.cc Tue Apr 18 15:56:56 2017
@@ -1,7 +1,7 @@
 // Test that LargeMmapAllocator's chunks aren't reachable via some internal data structure.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
 
 // For 32 bit LSan it's pretty likely that large chunks are "reachable" from some
 // internal data structures (e.g. Glibc global data).

Modified: compiler-rt/trunk/test/lsan/TestCases/leak_check_at_exit.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/leak_check_at_exit.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/leak_check_at_exit.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/leak_check_at_exit.cc Tue Apr 18 15:56:56 2017
@@ -1,10 +1,10 @@
 // Test for the leak_check_at_exit flag.
 // RUN: LSAN_BASE="detect_leaks=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-do
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-do
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"leak_check_at_exit=0" not %run %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-do
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"leak_check_at_exit=0" %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-dont
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-do
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-do
+// RUN: %env_lsan_opts=$LSAN_BASE:"leak_check_at_exit=0" not %run %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-do
+// RUN: %env_lsan_opts=$LSAN_BASE:"leak_check_at_exit=0" %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-dont
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/leak_check_before_thread_started.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/leak_check_before_thread_started.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/leak_check_before_thread_started.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/leak_check_before_thread_started.cc Tue Apr 18 15:56:56 2017
@@ -1,7 +1,7 @@
 // Regression test for http://llvm.org/bugs/show_bug.cgi?id=21621
 // This test relies on timing between threads, so any failures will be flaky.
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS="log_pointers=1:log_threads=1" %run %t
+// RUN: %env_lsan_opts="log_pointers=1:log_threads=1" %run %t
 #include <assert.h>
 #include <pthread.h>
 #include <stdio.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/link_turned_off.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/link_turned_off.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/link_turned_off.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/link_turned_off.cc Tue Apr 18 15:56:56 2017
@@ -1,8 +1,8 @@
 // Test for disabling LSan at link-time.
 // RUN: LSAN_BASE="detect_leaks=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE %run %t
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s
 
 #include <sanitizer/lsan_interface.h>
 

Modified: compiler-rt/trunk/test/lsan/TestCases/pointer_to_self.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/pointer_to_self.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/pointer_to_self.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/pointer_to_self.cc Tue Apr 18 15:56:56 2017
@@ -2,7 +2,7 @@
 // object is indirectly leaked. Only external pointers count.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_stacks=0" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_stacks=0" not %run %t 2>&1 | FileCheck %s
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/print_suppressions.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/print_suppressions.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/print_suppressions.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/print_suppressions.cc Tue Apr 18 15:56:56 2017
@@ -2,10 +2,10 @@
 // matched. Default is print_suppressions=true.
 // RUN: LSAN_BASE="detect_leaks=1:use_registers=0:use_stacks=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:print_suppressions=0 %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-dont-print
-// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-dont-print
-// RUN: LSAN_OPTIONS=$LSAN_BASE:print_suppressions=0 %run %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-dont-print
-// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-print
+// RUN: %env_lsan_opts=$LSAN_BASE:print_suppressions=0 %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-dont-print
+// RUN: %env_lsan_opts=$LSAN_BASE %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-dont-print
+// RUN: %env_lsan_opts=$LSAN_BASE:print_suppressions=0 %run %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-dont-print
+// RUN: %env_lsan_opts=$LSAN_BASE %run %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-print
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/recoverable_leak_check.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/recoverable_leak_check.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/recoverable_leak_check.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/recoverable_leak_check.cc Tue Apr 18 15:56:56 2017
@@ -1,8 +1,8 @@
 // Test for on-demand leak checking.
 // RUN: LSAN_BASE="detect_leaks=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t foo 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE %run %t foo 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE %run %t 2>&1 | FileCheck %s
 
 #include <assert.h>
 #include <stdio.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/register_root_region.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/register_root_region.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/register_root_region.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/register_root_region.cc Tue Apr 18 15:56:56 2017
@@ -1,9 +1,9 @@
 // Test for __lsan_(un)register_root_region().
 // RUN: LSAN_BASE="detect_leaks=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE:use_root_regions=0 not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE %run %t
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:use_root_regions=0 not %run %t 2>&1 | FileCheck %s
 
 #include <assert.h>
 #include <stdio.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/stale_stack_leak.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/stale_stack_leak.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/stale_stack_leak.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/stale_stack_leak.cc Tue Apr 18 15:56:56 2017
@@ -1,8 +1,8 @@
 // Test that out-of-scope local variables are ignored by LSan.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_registers=0:use_stacks=1"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE":exitcode=0" %run %t 2>&1 | FileCheck --check-prefix=CHECK-sanity %s
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE":exitcode=0" %run %t 2>&1 | FileCheck --check-prefix=CHECK-sanity %s
 //
 // x86 passes parameters through stack that may lead to false negatives
 // UNSUPPORTED: x86

Modified: compiler-rt/trunk/test/lsan/TestCases/suppressions_default.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/suppressions_default.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/suppressions_default.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/suppressions_default.cc Tue Apr 18 15:56:56 2017
@@ -1,6 +1,6 @@
 // RUN: LSAN_BASE="detect_leaks=1:use_registers=0:use_stacks=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t 2>&1 | FileCheck %s
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/suppressions_file.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/suppressions_file.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/suppressions_file.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/suppressions_file.cc Tue Apr 18 15:56:56 2017
@@ -3,13 +3,13 @@
 
 // RUN: rm -f %t.supp
 // RUN: touch %t.supp
-// RUN: LSAN_OPTIONS="$LSAN_BASE:suppressions='%t.supp'" not %run %t 2>&1 | FileCheck %s --check-prefix=NOSUPP
+// RUN: %env_lsan_opts="$LSAN_BASE:suppressions='%t.supp'" not %run %t 2>&1 | FileCheck %s --check-prefix=NOSUPP
 
 // RUN: echo "leak:*LSanTestLeakingFunc*" > %t.supp
-// RUN: LSAN_OPTIONS="$LSAN_BASE:suppressions='%t.supp'" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts="$LSAN_BASE:suppressions='%t.supp'" not %run %t 2>&1 | FileCheck %s
 
 // RUN: echo "leak:%t" > %t.supp
-// RUN: LSAN_OPTIONS="$LSAN_BASE:suppressions='%t.supp':symbolize=false" %run %t
+// RUN: %env_lsan_opts="$LSAN_BASE:suppressions='%t.supp':symbolize=false" %run %t
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/swapcontext.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/swapcontext.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/swapcontext.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/swapcontext.cc Tue Apr 18 15:56:56 2017
@@ -3,8 +3,8 @@
 
 // RUN: %clangxx_lsan %s -o %t
 // RUN: LSAN_BASE="detect_leaks=1"
-// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t 2>&1
-// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE %run %t 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s
 // UNSUPPORTED: arm
 
 #include <stdio.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/use_after_return.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_after_return.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_after_return.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_after_return.cc Tue Apr 18 15:56:56 2017
@@ -2,9 +2,9 @@
 // in the root set.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_registers=0"
 // RUN: %clangxx_lsan %s -O2 -o %t
-// RUN: ASAN_OPTIONS=$ASAN_OPTIONS:detect_stack_use_after_return=1 LSAN_OPTIONS=$LSAN_BASE:"use_stacks=0" not %run %t 2>&1 | FileCheck %s
-// RUN: ASAN_OPTIONS=$ASAN_OPTIONS:detect_stack_use_after_return=1 LSAN_OPTIONS=$LSAN_BASE:"use_stacks=1" %run %t 2>&1
-// RUN: ASAN_OPTIONS=$ASAN_OPTIONS:detect_stack_use_after_return=1 LSAN_OPTIONS="" %run %t 2>&1
+// RUN: ASAN_OPTIONS=$ASAN_OPTIONS:detect_stack_use_after_return=1 %env_lsan_opts=$LSAN_BASE:"use_stacks=0" not %run %t 2>&1 | FileCheck %s
+// RUN: ASAN_OPTIONS=$ASAN_OPTIONS:detect_stack_use_after_return=1 %env_lsan_opts=$LSAN_BASE:"use_stacks=1" %run %t 2>&1
+// RUN: ASAN_OPTIONS=$ASAN_OPTIONS:detect_stack_use_after_return=1 %env_lsan_opts="" %run %t 2>&1
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/use_globals_initialized.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_globals_initialized.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_globals_initialized.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_globals_initialized.cc Tue Apr 18 15:56:56 2017
@@ -1,9 +1,9 @@
 // Test that initialized globals are included in the root set.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_globals=0" not %run %t 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_globals=1" %run %t 2>&1
-// RUN: LSAN_OPTIONS="" %run %t 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_globals=0" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_globals=1" %run %t 2>&1
+// RUN: %env_lsan_opts="" %run %t 2>&1
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/use_globals_uninitialized.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_globals_uninitialized.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_globals_uninitialized.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_globals_uninitialized.cc Tue Apr 18 15:56:56 2017
@@ -1,9 +1,9 @@
 // Test that uninitialized globals are included in the root set.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_globals=0" not %run %t 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_globals=1" %run %t 2>&1
-// RUN: LSAN_OPTIONS="" %run %t 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_globals=0" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_globals=1" %run %t 2>&1
+// RUN: %env_lsan_opts="" %run %t 2>&1
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/use_poisoned_asan.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_poisoned_asan.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_poisoned_asan.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_poisoned_asan.cc Tue Apr 18 15:56:56 2017
@@ -2,8 +2,8 @@
 // REQUIRES: asan
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_poisoned=0" not %run %t 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_poisoned=1" %run %t 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_poisoned=0" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_poisoned=1" %run %t 2>&1
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/use_registers.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_registers.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_registers.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_registers.cc Tue Apr 18 15:56:56 2017
@@ -1,9 +1,9 @@
 // Test that registers of running threads are included in the root set.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0"
 // RUN: %clangxx_lsan -pthread %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_registers=0" not %run %t 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_registers=1" %run %t 2>&1
-// RUN: LSAN_OPTIONS="" %run %t 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_registers=0" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_registers=1" %run %t 2>&1
+// RUN: %env_lsan_opts="" %run %t 2>&1
 
 #include <assert.h>
 #include <pthread.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/use_stacks.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_stacks.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_stacks.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_stacks.cc Tue Apr 18 15:56:56 2017
@@ -1,9 +1,9 @@
 // Test that stack of main thread is included in the root set.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_stacks=0" not %run %t 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_stacks=1" %run %t 2>&1
-// RUN: LSAN_OPTIONS="" %run %t 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_stacks=0" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_stacks=1" %run %t 2>&1
+// RUN: %env_lsan_opts="" %run %t 2>&1
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/use_stacks_threaded.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_stacks_threaded.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_stacks_threaded.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_stacks_threaded.cc Tue Apr 18 15:56:56 2017
@@ -1,9 +1,9 @@
 // Test that stacks of non-main threads are included in the root set.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_registers=0"
 // RUN: %clangxx_lsan -pthread %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_stacks=0" not %run %t 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_stacks=1" %run %t 2>&1
-// RUN: LSAN_OPTIONS="" %run %t 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_stacks=0" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_stacks=1" %run %t 2>&1
+// RUN: %env_lsan_opts="" %run %t 2>&1
 
 #include <assert.h>
 #include <pthread.h>

Modified: compiler-rt/trunk/test/lsan/TestCases/use_unaligned.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/use_unaligned.cc?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/use_unaligned.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/use_unaligned.cc Tue Apr 18 15:56:56 2017
@@ -1,8 +1,8 @@
 // Test that unaligned pointers are detected correctly.
 // RUN: LSAN_BASE="detect_leaks=1:report_objects=1:use_stacks=0:use_registers=0"
 // RUN: %clangxx_lsan %s -o %t
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_unaligned=0" not %run %t 2>&1 | FileCheck %s
-// RUN: LSAN_OPTIONS=$LSAN_BASE:"use_unaligned=1" %run %t 2>&1
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_unaligned=0" not %run %t 2>&1 | FileCheck %s
+// RUN: %env_lsan_opts=$LSAN_BASE:"use_unaligned=1" %run %t 2>&1
 
 #include <stdio.h>
 #include <stdlib.h>

Modified: compiler-rt/trunk/test/lsan/lit.common.cfg
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/lit.common.cfg?rev=300592&r1=300591&r2=300592&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/lit.common.cfg (original)
+++ compiler-rt/trunk/test/lsan/lit.common.cfg Tue Apr 18 15:56:56 2017
@@ -32,6 +32,14 @@ else:
   lit_config.fatal("Unknown LSan test mode: %r" % lsan_lit_test_mode)
 config.name += config.name_suffix
 
+# Platform-specific default LSAN_OPTIONS for lit tests.
+default_lsan_opts = ''
+if default_lsan_opts:
+  config.environment['LSAN_OPTIONS'] = default_lsan_opts
+  default_lsan_opts += ':'
+config.substitutions.append(('%env_lsan_opts=',
+                             'env LSAN_OPTIONS=' + default_lsan_opts))
+
 if lit.util.which('strace'):
   config.available_features.add('strace')
 




More information about the llvm-commits mailing list