[asan] One more coverage test.
Test that coverage is dumped correctly (and completely) even when the processed gets SIGKILL-ed. llvm-svn: 210647
This commit is contained in:
parent
125a302257
commit
46fa9f2d9e
|
@ -1,16 +1,35 @@
|
||||||
// Test for direct coverage writing with dlopen.
|
// Test for direct coverage writing with dlopen.
|
||||||
|
|
||||||
|
// Test normal exit.
|
||||||
// RUN: %clangxx_asan -mllvm -asan-coverage=1 -DSHARED %s -shared -o %T/libcoverage_android_test_1.so -fPIC
|
// RUN: %clangxx_asan -mllvm -asan-coverage=1 -DSHARED %s -shared -o %T/libcoverage_android_test_1.so -fPIC
|
||||||
// RUN: %clangxx_asan -mllvm -asan-coverage=1 -DSO_DIR=\"%device\" %s -o %t
|
// RUN: %clangxx_asan -mllvm -asan-coverage=1 -DSO_DIR=\"%device\" %s -o %t
|
||||||
|
|
||||||
// RUN: adb shell rm -rf %device/coverage-direct
|
// RUN: adb shell rm -rf %device/coverage-android
|
||||||
// RUN: rm -rf %T/coverage-direct
|
// RUN: rm -rf %T/coverage-android
|
||||||
|
|
||||||
// RUN: adb shell mkdir -p %device/coverage-direct/direct
|
// RUN: adb shell mkdir -p %device/coverage-android/direct
|
||||||
// RUN: mkdir -p %T/coverage-direct/direct
|
// RUN: mkdir -p %T/coverage-android/direct
|
||||||
// RUN: ASAN_OPTIONS=coverage=1:coverage_direct=1:coverage_dir=%device/coverage-direct/direct:verbosity=1 %run %t
|
// RUN: ASAN_OPTIONS=coverage=1:coverage_direct=1:coverage_dir=%device/coverage-android/direct:verbosity=1 %run %t
|
||||||
// RUN: adb pull %device/coverage-direct/direct %T/coverage-direct/direct
|
// RUN: adb pull %device/coverage-android/direct %T/coverage-android/direct
|
||||||
// RUN: ls; pwd
|
// RUN: ls; pwd
|
||||||
// RUN: cd %T/coverage-direct/direct
|
// RUN: cd %T/coverage-android/direct
|
||||||
|
// RUN: %sancov rawunpack *.sancov.raw
|
||||||
|
// RUN: %sancov print *.sancov |& FileCheck %s
|
||||||
|
|
||||||
|
|
||||||
|
// Test sudden death.
|
||||||
|
// RUN: %clangxx_asan -mllvm -asan-coverage=1 -DSHARED -DKILL %s -shared -o %T/libcoverage_android_test_1.so -fPIC
|
||||||
|
// RUN: %clangxx_asan -mllvm -asan-coverage=1 -DSO_DIR=\"%device\" %s -o %t
|
||||||
|
|
||||||
|
// RUN: adb shell rm -rf %device/coverage-android-kill
|
||||||
|
// RUN: rm -rf %T/coverage-android-kill
|
||||||
|
|
||||||
|
// RUN: adb shell mkdir -p %device/coverage-android-kill/direct
|
||||||
|
// RUN: mkdir -p %T/coverage-android-kill/direct
|
||||||
|
// RUN: ASAN_OPTIONS=coverage=1:coverage_direct=1:coverage_dir=%device/coverage-android-kill/direct:verbosity=1 not %run %t
|
||||||
|
// RUN: adb pull %device/coverage-android-kill/direct %T/coverage-android-kill/direct
|
||||||
|
// RUN: ls; pwd
|
||||||
|
// RUN: cd %T/coverage-android-kill/direct
|
||||||
// RUN: %sancov rawunpack *.sancov.raw
|
// RUN: %sancov rawunpack *.sancov.raw
|
||||||
// RUN: %sancov print *.sancov |& FileCheck %s
|
// RUN: %sancov print *.sancov |& FileCheck %s
|
||||||
|
|
||||||
|
@ -18,10 +37,17 @@
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <signal.h>
|
||||||
|
|
||||||
#ifdef SHARED
|
#ifdef SHARED
|
||||||
extern "C" {
|
extern "C" {
|
||||||
void bar() { printf("bar\n"); }
|
void bar() {
|
||||||
|
printf("bar\n");
|
||||||
|
#ifdef KILL
|
||||||
|
kill(getpid(), SIGKILL);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue