Skip to content

Commit

Permalink
[LSAN] Enable more tests which are passing as is in HWASAN.
Browse files Browse the repository at this point in the history
Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D143126
  • Loading branch information
kstoimenov committed Feb 2, 2023
1 parent b612143 commit b4abbf1
Show file tree
Hide file tree
Showing 11 changed files with 13 additions and 46 deletions.
5 changes: 1 addition & 4 deletions compiler-rt/test/lsan/TestCases/Linux/log-path_test.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
// RUN: %clangxx_lsan %s -o %t

// Fixme: remove once test passes with hwasan
// UNSUPPORTED: hwasan
// The globs below do not work in the lit shell.

// Regular run.
Expand Down Expand Up @@ -30,4 +27,4 @@ int main() {

// CHECK-ERROR: LeakSanitizer: detected memory leaks
// CHECK-ERROR: Direct leak of 1337 byte(s) in 1 object(s) allocated from
// CHECK-ERROR: SUMMARY: {{(Leak|Address)}}Sanitizer:
// CHECK-ERROR: SUMMARY: {{.*}}Sanitizer:
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@
// RUN: %env_lsan_opts="report_objects=1:use_stacks=0:use_registers=0:use_tls=1" %run %t 2>&1
// RUN: %env_lsan_opts="" %run %t 2>&1

// Fixme: remove once test passes with hwasan
// UNSUPPORTED: hwasan

// Investigate why it does not fail with use_tls=0
// UNSUPPORTED: arm-linux || armhf-linux

Expand Down
5 changes: 1 addition & 4 deletions compiler-rt/test/lsan/TestCases/disabler.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
// RUN: %clang_lsan %s -o %t
// RUN: %env_lsan_opts=report_objects=1:use_registers=0:use_stacks=0:use_tls=0 not %run %t 2>&1 | FileCheck %s

// Fixme: remove once test passes with hwasan
// UNSUPPORTED: hwasan

// Investigate why it does not fail with use_tls=0
// UNSUPPORTED: arm-linux || armhf-linux

Expand All @@ -26,4 +23,4 @@ int main() {
fprintf(stderr, "Test alloc: %p.\n", q);
return 0;
}
// CHECK: SUMMARY: {{(Leak|Address)}}Sanitizer: 1337 byte(s) leaked in 1 allocation(s)
// CHECK: SUMMARY: {{.*}}Sanitizer: 1337 byte(s) leaked in 1 allocation(s)
7 changes: 2 additions & 5 deletions compiler-rt/test/lsan/TestCases/do_leak_check_override.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
// Test for __lsan_do_leak_check(). We test it by making the leak check run
// before global destructors, which also tests compatibility with HeapChecker's

// Fixme: remove once test passes with hwasan
// UNSUPPORTED: hwasan
// "normal" mode (LSan runs in "strict" mode by default).
// RUN: %clangxx_lsan %s -o %t
// RUN: %env_lsan_opts=use_stacks=0:use_registers=0 not %run %t 2>&1 | FileCheck --check-prefix=CHECK-strict %s
Expand Down Expand Up @@ -37,5 +34,5 @@ int main(int argc, char *argv[]) {
return 0;
}

// CHECK-strict: SUMMARY: {{(Leak|Address)}}Sanitizer: 2003 byte(s) leaked in 2 allocation(s)
// CHECK-normal: SUMMARY: {{(Leak|Address)}}Sanitizer: 666 byte(s) leaked in 1 allocation(s)
// CHECK-strict: SUMMARY: {{.*}}Sanitizer: 2003 byte(s) leaked in 2 allocation(s)
// CHECK-normal: SUMMARY: {{.*}}Sanitizer: 666 byte(s) leaked in 1 allocation(s)
7 changes: 2 additions & 5 deletions compiler-rt/test/lsan/TestCases/leak_check_at_exit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@
// RUN: %env_lsan_opts=use_stacks=0:use_registers=0:leak_check_at_exit=0 not %run %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-do
// RUN: %env_lsan_opts=use_stacks=0:use_registers=0:leak_check_at_exit=0 %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-dont

// Fixme: remove once test passes with hwasan
// UNSUPPORTED: hwasan

#include <stdio.h>
#include <stdlib.h>
#include <sanitizer/lsan_interface.h>
Expand All @@ -19,5 +16,5 @@ int main(int argc, char *argv[]) {
return 0;
}

// CHECK-do: SUMMARY: {{(Leak|Address)}}Sanitizer:
// CHECK-dont-NOT: SUMMARY: {{(Leak|Address)}}Sanitizer:
// CHECK-do: SUMMARY: {{.*}}Sanitizer:
// CHECK-dont-NOT: SUMMARY: {{.*}}Sanitizer:
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
// RUN: %clangxx_lsan %s -o %t
// RUN: %env_lsan_opts="log_pointers=1:log_threads=1" %run %t

// Fixme: remove once test passes with hwasan
// UNSUPPORTED: hwasan

#include <assert.h>
#include <pthread.h>
#include <stdio.h>
Expand Down
5 changes: 1 addition & 4 deletions compiler-rt/test/lsan/TestCases/link_turned_off.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
// RUN: %clangxx_lsan %s -o %t
// RUN: %env_lsan_opts=use_stacks=0:use_registers=0 %run %t
// RUN: %env_lsan_opts=use_stacks=0:use_registers=0 not %run %t foo 2>&1 | FileCheck %s

// Fixme: remove once test passes with hwasan
// UNSUPPORTED: hwasan
//
// UNSUPPORTED: darwin

Expand All @@ -25,4 +22,4 @@ int main(int argc, char *argv[]) {
return 0;
}

// CHECK: SUMMARY: {{(Leak|Address)}}Sanitizer: 4 byte(s) leaked in 1 allocation(s)
// CHECK: SUMMARY: {{(.*)}}Sanitizer: 4 byte(s) leaked in 1 allocation(s)
7 changes: 2 additions & 5 deletions compiler-rt/test/lsan/TestCases/recoverable_leak_check.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
// RUN: %env_lsan_opts=use_stacks=0:use_registers=0 %run %t foo 2>&1 | FileCheck %s
// RUN: %env_lsan_opts=use_stacks=0:use_registers=0 %run %t 2>&1 | FileCheck %s

// Fixme: remove once test passes with hwasan
// UNSUPPORTED: hwasan
//
// UNSUPPORTED: darwin

#include <assert.h>
Expand All @@ -25,12 +22,12 @@ int main(int argc, char *argv[]) {
// CHECK: Test alloc:

assert(__lsan_do_recoverable_leak_check() == 1);
// CHECK: SUMMARY: {{(Leak|Address)}}Sanitizer: 1337 byte
// CHECK: SUMMARY: {{.*}}Sanitizer: 1337 byte

// Test that we correctly reset chunk tags.
p = 0;
assert(__lsan_do_recoverable_leak_check() == 1);
// CHECK: SUMMARY: {{(Leak|Address)}}Sanitizer: 1360 byte
// CHECK: SUMMARY: {{.*}}Sanitizer: 1360 byte

_exit(0);
}
5 changes: 1 addition & 4 deletions compiler-rt/test/lsan/TestCases/suppressions_default.cpp
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
// RUN: %clangxx_lsan %s -o %t
// RUN: %env_lsan_opts=use_registers=0:use_stacks=0 not %run %t 2>&1 | FileCheck %s

// Fixme: remove once test passes with hwasan
// UNSUPPORTED: hwasan

#include <stdio.h>
#include <stdlib.h>

Expand All @@ -27,4 +24,4 @@ int main() {
}
// CHECK: Suppressions used:
// CHECK: 1 666 *LSanTestLeakingFunc*
// CHECK: SUMMARY: {{(Leak|Address)}}Sanitizer: 1337 byte(s) leaked in 1 allocation(s)
// CHECK: SUMMARY: {{.*}}Sanitizer: 1337 byte(s) leaked in 1 allocation(s)
7 changes: 2 additions & 5 deletions compiler-rt/test/lsan/TestCases/suppressions_file.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
// RUN: %clangxx_lsan %s -o %t

// Fixme: remove once test passes with hwasan
// UNSUPPORTED: hwasan

// RUN: rm -f %t.supp
// RUN: touch %t.supp
// RUN: %push_to_device %t.supp %device_rundir/%t.supp
Expand Down Expand Up @@ -39,6 +36,6 @@ int main() {
}
// CHECK: Suppressions used:
// CHECK: 1 666 *LSanTestLeakingFunc*
// CHECK: SUMMARY: {{(Leak|Address)}}Sanitizer: 1337 byte(s) leaked in 1 allocation(s)
// CHECK: SUMMARY: {{.*}}Sanitizer: 1337 byte(s) leaked in 1 allocation(s)

// NOSUPP: SUMMARY: {{(Leak|Address)}}Sanitizer: 2780 byte(s) leaked in 3 allocation(s).
// NOSUPP: SUMMARY: {{.*}}Sanitizer: 2780 byte(s) leaked in 3 allocation(s).
5 changes: 1 addition & 4 deletions compiler-rt/test/lsan/TestCases/swapcontext.cpp
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
// We can't unwind stack if we're running coroutines on heap-allocated
// memory. Make sure we don't report these leaks.

// Fixme: remove once test passes with hwasan
// UNSUPPORTED: hwasan

// RUN: %clangxx_lsan %s -o %t
// RUN: %env_lsan_opts= %run %t 2>&1
// RUN: %env_lsan_opts= not %run %t foo 2>&1 | FileCheck %s
Expand Down Expand Up @@ -44,4 +41,4 @@ int main(int argc, char *argv[]) {
return 0;
}

// CHECK: SUMMARY: {{(Leak|Address)}}Sanitizer: 2664 byte(s) leaked in 1 allocation(s)
// CHECK: SUMMARY: {{.*}}Sanitizer: 2664 byte(s) leaked in 1 allocation(s)

0 comments on commit b4abbf1

Please sign in to comment.