Switch to libbase SilentDeathTest.
Bug: http://b/184955378
Test: treehugger
Change-Id: Ie0849224074da92203340a741a86a24a4a3702c2
diff --git a/tests/Android.bp b/tests/Android.bp
index 02a33ee..476b8f5 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -567,6 +567,9 @@
"-Wno-strlcpy-strlcat-size",
"-Wno-strncat-size",
],
+ static_libs: [
+ "libbase",
+ ],
}
cc_defaults {
@@ -575,6 +578,9 @@
"-U_FORTIFY_SOURCE",
],
srcs: ["fortify_test_main.cpp"],
+ static_libs: [
+ "libbase",
+ ],
tidy: false,
target: {
host: {
@@ -839,7 +845,6 @@
],
static_libs: [
// The order of these libraries matters, do not shuffle them.
- "libbase",
"libmeminfo",
"libziparchive",
"libz",
diff --git a/tests/BionicDeathTest.h b/tests/BionicDeathTest.h
deleted file mode 100644
index f70839a..0000000
--- a/tests/BionicDeathTest.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <signal.h>
-
-#include <gtest/gtest.h>
-
-#if !defined(__BIONIC__)
-#define sigaction64 sigaction
-#endif
-
-class BionicDeathTest : public testing::Test {
- protected:
- virtual void SetUp() {
- // Suppress debuggerd stack traces. Too slow.
- for (int signo : { SIGABRT, SIGBUS, SIGSEGV, SIGSYS }) {
- struct sigaction64 action = { .sa_handler = SIG_DFL };
- sigaction64(signo, &action, &previous_);
- }
- }
-
- virtual void TearDown() {
- for (int signo : { SIGABRT, SIGBUS, SIGSEGV, SIGSYS }) {
- sigaction64(signo, &previous_, nullptr);
- }
- }
-
- private:
- struct sigaction64 previous_;
-};
diff --git a/tests/assert_test.cpp b/tests/assert_test.cpp
index 714e22a..769852a 100644
--- a/tests/assert_test.cpp
+++ b/tests/assert_test.cpp
@@ -19,9 +19,9 @@
#undef NDEBUG
#include <assert.h>
-#include "BionicDeathTest.h"
+#include <android-base/silent_death_test.h>
-using assert_DeathTest = BionicDeathTest;
+using assert_DeathTest = SilentDeathTest;
TEST(assert, assert_true) {
assert(true);
diff --git a/tests/cfi_test.cpp b/tests/cfi_test.cpp
index d3cd8d1..9a6ed9a 100644
--- a/tests/cfi_test.cpp
+++ b/tests/cfi_test.cpp
@@ -15,12 +15,13 @@
*/
#include <dlfcn.h>
-#include <gtest/gtest.h>
#include <sys/stat.h>
#include <vector>
-#include "BionicDeathTest.h"
+#include <android-base/silent_death_test.h>
+#include <gtest/gtest.h>
+
#include "gtest_globals.h"
#include "utils.h"
@@ -35,7 +36,7 @@
size_t __cfi_shadow_size();
}
-using cfi_test_DeathTest = BionicDeathTest;
+using cfi_test_DeathTest = SilentDeathTest;
static void f() {}
diff --git a/tests/clang_fortify_tests.cpp b/tests/clang_fortify_tests.cpp
index 0355170..5768f1f 100644
--- a/tests/clang_fortify_tests.cpp
+++ b/tests/clang_fortify_tests.cpp
@@ -94,14 +94,14 @@
#include <wchar.h>
#ifndef COMPILATION_TESTS
+#include <android-base/silent_death_test.h>
#include <gtest/gtest.h>
-#include "BionicDeathTest.h"
#define CONCAT2(x, y) x##y
#define CONCAT(x, y) CONCAT2(x, y)
#define FORTIFY_TEST_NAME CONCAT(CONCAT(clang_fortify_test_, _FORTIFY_SOURCE), _DeathTest)
-using FORTIFY_TEST_NAME = BionicDeathTest;
+using FORTIFY_TEST_NAME = SilentDeathTest;
template <typename Fn>
__attribute__((noreturn)) static void ExitAfter(Fn&& f) {
diff --git a/tests/error_test.cpp b/tests/error_test.cpp
index e03c8d4..e114f06 100644
--- a/tests/error_test.cpp
+++ b/tests/error_test.cpp
@@ -30,7 +30,9 @@
#include <error.h>
-#include "BionicDeathTest.h"
+#include <android-base/silent_death_test.h>
+
+using error_DeathTest = SilentDeathTest;
static size_t g_test_error_print_progname_invocation_count;
diff --git a/tests/fdsan_test.cpp b/tests/fdsan_test.cpp
index c294ff3..016970f 100644
--- a/tests/fdsan_test.cpp
+++ b/tests/fdsan_test.cpp
@@ -16,8 +16,6 @@
#include <gtest/gtest.h>
-#include "BionicDeathTest.h"
-
#include <dirent.h>
#include <errno.h>
#include <fcntl.h>
@@ -32,6 +30,7 @@
#include <unordered_map>
+#include <android-base/silent_death_test.h>
#include <android-base/unique_fd.h>
#define FDSAN_TEST(test_name) TEST_F(FdsanTest, test_name)
@@ -49,12 +48,12 @@
}
};
-struct fdsan_DeathTest : public BionicDeathTest {
+struct fdsan_DeathTest : public SilentDeathTest {
#if defined(__BIONIC__)
void SetUp() override {
android_fdsan_set_error_level(ANDROID_FDSAN_ERROR_LEVEL_FATAL);
signal(BIONIC_SIGNAL_DEBUGGER, SIG_DFL); // Disable debuggerd.
- BionicDeathTest::SetUp();
+ SilentDeathTest::SetUp();
}
#endif
};
diff --git a/tests/fortify_test.cpp b/tests/fortify_test.cpp
index 3ca0223..4abee67 100644
--- a/tests/fortify_test.cpp
+++ b/tests/fortify_test.cpp
@@ -15,7 +15,6 @@
*/
#include <gtest/gtest.h>
-#include "BionicDeathTest.h"
#include <fcntl.h>
#include <malloc.h>
@@ -28,6 +27,8 @@
#include <sys/types.h>
#include <time.h>
+#include <android-base/silent_death_test.h>
+
#if __BIONIC__
#define ASSERT_FORTIFY(expr) ASSERT_EXIT(expr, testing::KilledBySignal(SIGABRT), "FORTIFY")
#else
@@ -40,7 +41,7 @@
#define DEATHTEST_EVALUATOR(name) DEATHTEST_PASTER(name)
#define DEATHTEST DEATHTEST_EVALUATOR(TEST_NAME)
-class DEATHTEST : public BionicDeathTest {};
+using DEATHTEST = SilentDeathTest;
#if defined(_FORTIFY_SOURCE) && _FORTIFY_SOURCE == 2
struct foo {
diff --git a/tests/pidfd_test.cpp b/tests/pidfd_test.cpp
index 7c691ef..b9fadb4 100644
--- a/tests/pidfd_test.cpp
+++ b/tests/pidfd_test.cpp
@@ -14,6 +14,8 @@
* limitations under the License.
*/
+#include <gtest/gtest.h>
+
#include <errno.h>
#include <fcntl.h>
#include <signal.h>
@@ -24,16 +26,13 @@
#include <sys/pidfd.h>
#endif
+#include <android-base/silent_death_test.h>
#include <android-base/unique_fd.h>
-#include <gtest/gtest.h>
-
-#include "BionicDeathTest.h"
-
using android::base::unique_fd;
using namespace std::chrono_literals;
-using pidfd_DeathTest = BionicDeathTest;
+using pidfd_DeathTest = SilentDeathTest;
TEST(pidfd, pidfd_open) {
#if defined(__BIONIC__)
diff --git a/tests/pthread_test.cpp b/tests/pthread_test.cpp
index 1cbe3de..1a00460 100644
--- a/tests/pthread_test.cpp
+++ b/tests/pthread_test.cpp
@@ -38,14 +38,14 @@
#include <android-base/macros.h>
#include <android-base/parseint.h>
#include <android-base/scopeguard.h>
+#include <android-base/silent_death_test.h>
#include <android-base/strings.h>
#include "private/bionic_constants.h"
-#include "BionicDeathTest.h"
#include "SignalUtils.h"
#include "utils.h"
-using pthread_DeathTest = BionicDeathTest;
+using pthread_DeathTest = SilentDeathTest;
TEST(pthread, pthread_key_create) {
pthread_key_t key;
diff --git a/tests/semaphore_test.cpp b/tests/semaphore_test.cpp
index ed0fcf1..f3f6020 100644
--- a/tests/semaphore_test.cpp
+++ b/tests/semaphore_test.cpp
@@ -17,17 +17,18 @@
#include <semaphore.h>
#include <errno.h>
-#include <gtest/gtest.h>
#include <limits.h>
#include <pthread.h>
#include <time.h>
#include <unistd.h>
-#include "BionicDeathTest.h"
+#include <android-base/silent_death_test.h>
+#include <gtest/gtest.h>
+
#include "SignalUtils.h"
#include "private/bionic_constants.h"
-using semaphore_DeathTest = BionicDeathTest;
+using semaphore_DeathTest = SilentDeathTest;
TEST(semaphore, sem_init) {
sem_t s;
diff --git a/tests/setjmp_test.cpp b/tests/setjmp_test.cpp
index ec1badc..ee126eb 100644
--- a/tests/setjmp_test.cpp
+++ b/tests/setjmp_test.cpp
@@ -21,10 +21,11 @@
#include <sys/syscall.h>
#include <unistd.h>
-#include "BionicDeathTest.h"
+#include <android-base/silent_death_test.h>
+
#include "SignalUtils.h"
-using setjmp_DeathTest = BionicDeathTest;
+using setjmp_DeathTest = SilentDeathTest;
TEST(setjmp, setjmp_smoke) {
int value;
diff --git a/tests/stack_protector_test.cpp b/tests/stack_protector_test.cpp
index 9fe7bb1..a95e037 100644
--- a/tests/stack_protector_test.cpp
+++ b/tests/stack_protector_test.cpp
@@ -19,7 +19,6 @@
*/
#include <gtest/gtest.h>
-#include "BionicDeathTest.h"
#include <pthread.h>
#include <stdint.h>
@@ -27,6 +26,8 @@
#include <unistd.h>
#include <set>
+#include <android-base/silent_death_test.h>
+
#include "private/bionic_tls.h"
extern "C" pid_t gettid(); // glibc defines this but doesn't declare it anywhere.
@@ -99,7 +100,7 @@
#endif
}
-class stack_protector_DeathTest : public BionicDeathTest {};
+using stack_protector_DeathTest = SilentDeathTest;
TEST_F(stack_protector_DeathTest, modify_stack_protector) {
// In another file to prevent inlining, which removes stack protection.
diff --git a/tests/stdio_test.cpp b/tests/stdio_test.cpp
index 5491589..5736e17 100644
--- a/tests/stdio_test.cpp
+++ b/tests/stdio_test.cpp
@@ -33,10 +33,10 @@
#include <vector>
#include <android-base/file.h>
+#include <android-base/silent_death_test.h>
#include <android-base/test_utils.h>
#include <android-base/unique_fd.h>
-#include "BionicDeathTest.h"
#include "utils.h"
// This #include is actually a test too. We have to duplicate the
@@ -56,8 +56,8 @@
using namespace std::string_literals;
-using stdio_DeathTest = BionicDeathTest;
-using stdio_nofortify_DeathTest = BionicDeathTest;
+using stdio_DeathTest = SilentDeathTest;
+using stdio_nofortify_DeathTest = SilentDeathTest;
static void SetFileTo(const char* path, const char* content) {
FILE* fp;
diff --git a/tests/stdlib_test.cpp b/tests/stdlib_test.cpp
index 90ef861..6c7966d 100644
--- a/tests/stdlib_test.cpp
+++ b/tests/stdlib_test.cpp
@@ -31,9 +31,9 @@
#include <android-base/file.h>
#include <android-base/macros.h>
+#include <android-base/silent_death_test.h>
#include <gtest/gtest.h>
-#include "BionicDeathTest.h"
#include "math_data_test.h"
#include "utils.h"
@@ -447,7 +447,7 @@
// Even though this isn't really a death test, we have to say "DeathTest" here so gtest knows to
// run this test (which exits normally) in its own process.
-class stdlib_DeathTest : public BionicDeathTest {};
+using stdlib_DeathTest = SilentDeathTest;
TEST_F(stdlib_DeathTest, getenv_after_main_thread_exits) {
// https://code.google.com/p/android/issues/detail?id=57421
diff --git a/tests/system_properties_test.cpp b/tests/system_properties_test.cpp
index 6d696c7..aa8fef4 100644
--- a/tests/system_properties_test.cpp
+++ b/tests/system_properties_test.cpp
@@ -15,7 +15,6 @@
*/
#include <gtest/gtest.h>
-#include "BionicDeathTest.h"
#include <errno.h>
#include <sys/wait.h>
@@ -25,6 +24,7 @@
#include <thread>
#include <android-base/file.h>
+#include <android-base/silent_death_test.h>
using namespace std::literals;
@@ -425,7 +425,7 @@
WTERMSIG(exit_status) == SIGABRT);
}
-class properties_DeathTest : public BionicDeathTest {};
+using properties_DeathTest = SilentDeathTest;
TEST_F(properties_DeathTest, read_only) {
#if defined(__BIONIC__)
diff --git a/tests/threads_test.cpp b/tests/threads_test.cpp
index 5fafff3..c1e9b12 100644
--- a/tests/threads_test.cpp
+++ b/tests/threads_test.cpp
@@ -60,7 +60,8 @@
#include <thread>
-#include "BionicDeathTest.h"
+#include <android-base/silent_death_test.h>
+
#include "SignalUtils.h"
TEST(threads, call_once) {
@@ -361,7 +362,7 @@
#endif
}
-class threads_DeathTest : public BionicDeathTest {};
+using threads_DeathTest = SilentDeathTest;
TEST(threads_DeathTest, thrd_exit_main_thread) {
#if !defined(HAVE_THREADS_H)
diff --git a/tests/unistd_test.cpp b/tests/unistd_test.cpp
index 595ba90..7d1e612 100644
--- a/tests/unistd_test.cpp
+++ b/tests/unistd_test.cpp
@@ -16,7 +16,6 @@
#include <gtest/gtest.h>
-#include "BionicDeathTest.h"
#include "SignalUtils.h"
#include "utils.h"
@@ -37,6 +36,7 @@
#include <chrono>
#include <android-base/file.h>
+#include <android-base/silent_death_test.h>
#include <android-base/strings.h>
#include "private/get_cpu_count_from_string.h"
@@ -53,6 +53,8 @@
#define UNISTD_DEATHTEST unistd_DeathTest
#endif
+using UNISTD_DEATHTEST = SilentDeathTest;
+
using namespace std::chrono_literals;
static void* get_brk() {
@@ -711,8 +713,6 @@
}
}
-class UNISTD_DEATHTEST : public BionicDeathTest {};
-
TEST_F(UNISTD_DEATHTEST, abort) {
ASSERT_EXIT(abort(), testing::KilledBySignal(SIGABRT), "");
}