Home | History | Annotate | Download | only in TestCases
      1 // Test for the leak_check_at_exit flag.
      2 // RUN: %clangxx_lsan %s -o %t
      3 // RUN: LSAN_OPTIONS="verbosity=1" %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-do
      4 // RUN: LSAN_OPTIONS="verbosity=1" %t 2>&1 | FileCheck %s --check-prefix=CHECK-do
      5 // RUN: LSAN_OPTIONS="verbosity=1:leak_check_at_exit=0" ASAN_OPTIONS="$ASAN_OPTIONS:leak_check_at_exit=0" %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-do
      6 // RUN: LSAN_OPTIONS="verbosity=1:leak_check_at_exit=0" ASAN_OPTIONS="$ASAN_OPTIONS:leak_check_at_exit=0" %t 2>&1 | FileCheck %s --check-prefix=CHECK-dont
      7 
      8 #include <stdio.h>
      9 #include <sanitizer/lsan_interface.h>
     10 
     11 int main(int argc, char *argv[]) {
     12   printf("printf to break optimization\n");
     13   if (argc > 1)
     14     __lsan_do_leak_check();
     15   return 0;
     16 }
     17 
     18 // CHECK-do: SUMMARY: LeakSanitizer:
     19 // CHECK-dont-NOT: SUMMARY: LeakSanitizer:
     20