[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
diff --git a/tests/backtrace.cpp b/tests/backtrace.cpp index 7cbbcf5..6a84a2a 100644 --- a/tests/backtrace.cpp +++ b/tests/backtrace.cpp
@@ -21,7 +21,7 @@ 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 @@ DeathRegex.append("was allocated.*AllocateMemory"); if (!Recoverable) { - ASSERT_DEATH(TouchMemory(Ptr), DeathRegex); + EXPECT_DEATH(TouchMemory(Ptr), DeathRegex); return; }
diff --git a/tests/harness.cpp b/tests/harness.cpp index 6d41630..4633d3e 100644 --- a/tests/harness.cpp +++ b/tests/harness.cpp
@@ -47,8 +47,15 @@ << 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