summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaslyn Tonelli <caslyn@google.com>2023-04-26 22:15:21 +0000
committerCopybara-Service <copybara-worker@google.com>2023-04-27 14:56:53 -0700
commit92529f313e5af8ec3519274e596edfdae65faada (patch)
tree291c7f06270e61aae8244e857ac9c145f6b5d2f9
parent343a3e1fbc19a44d6f6fdfc6cae38ccc7f32e790 (diff)
downloadgwp_asan-92529f313e5af8ec3519274e596edfdae65faada.tar.gz
[gwp_asan] Exclude recoverable tests on Fuchsia
Signal handlers used by recoverable tests are unsupported on Fuchsia. Exclude the set of tests that test recoverable code paths (i.e. BacktraceGuardedPoolAllocator tests in recoverable.cpp) and always set the `Recoverable` testing bool to `false` on the Fuchsia platform. Differential Revision: https://reviews.llvm.org/D149311 GitOrigin-RevId: 43ba32109657b697c6dd31a30563a66dade5f254 Change-Id: Ie5c33176f526ece6f5669cdb49cc825038e6073b
-rw-r--r--gwp_asan/tests/backtrace.cpp4
-rw-r--r--gwp_asan/tests/harness.cpp7
2 files changed, 9 insertions, 2 deletions
diff --git a/gwp_asan/tests/backtrace.cpp b/gwp_asan/tests/backtrace.cpp
index 7cbbcf5..6a84a2a 100644
--- a/gwp_asan/tests/backtrace.cpp
+++ b/gwp_asan/tests/backtrace.cpp
@@ -21,7 +21,7 @@ TEST_P(BacktraceGuardedPoolAllocatorDeathTest, DoubleFree) {
DeathRegex.append("was deallocated.*DeallocateMemory[^2].*");
DeathRegex.append("was allocated.*AllocateMemory");
if (!Recoverable) {
- ASSERT_DEATH(DeallocateMemory2(GPA, Ptr), DeathRegex);
+ EXPECT_DEATH(DeallocateMemory2(GPA, Ptr), DeathRegex);
return;
}
@@ -51,7 +51,7 @@ TEST_P(BacktraceGuardedPoolAllocatorDeathTest, UseAfterFree) {
DeathRegex.append("was allocated.*AllocateMemory");
if (!Recoverable) {
- ASSERT_DEATH(TouchMemory(Ptr), DeathRegex);
+ EXPECT_DEATH(TouchMemory(Ptr), DeathRegex);
return;
}
diff --git a/gwp_asan/tests/harness.cpp b/gwp_asan/tests/harness.cpp
index 6d41630..4633d3e 100644
--- a/gwp_asan/tests/harness.cpp
+++ b/gwp_asan/tests/harness.cpp
@@ -47,8 +47,15 @@ void CheckOnlyOneGwpAsanCrash(const std::string &OutputBuffer) {
<< OutputBuffer;
}
+// Fuchsia does not support recoverable GWP-ASan.
+#if defined(__Fuchsia__)
+INSTANTIATE_TEST_SUITE_P(RecoverableAndNonRecoverableTests,
+ BacktraceGuardedPoolAllocatorDeathTest,
+ /* Recoverable */ testing::Values(false));
+#else
INSTANTIATE_TEST_SUITE_P(RecoverableTests, BacktraceGuardedPoolAllocator,
/* Recoverable */ testing::Values(true));
INSTANTIATE_TEST_SUITE_P(RecoverableAndNonRecoverableTests,
BacktraceGuardedPoolAllocatorDeathTest,
/* Recoverable */ testing::Bool());
+#endif