diff --git a/compiler-rt/lib/scudo/standalone/tests/scudo_unit_test.h b/compiler-rt/lib/scudo/standalone/tests/scudo_unit_test.h --- a/compiler-rt/lib/scudo/standalone/tests/scudo_unit_test.h +++ b/compiler-rt/lib/scudo/standalone/tests/scudo_unit_test.h @@ -16,10 +16,15 @@ // If EXPECT_DEATH isn't defined, make it a no-op. #ifndef EXPECT_DEATH +// If ASSERT_DEATH is defined, make EXPECT_DEATH a wrapper to it. +#ifdef ASSERT_DEATH +#define EXPECT_DEATH(X, Y) ASSERT_DEATH(([&] { X; }), Y) +#else #define EXPECT_DEATH(X, Y) \ do { \ } while (0) -#endif +#endif // ASSERT_DEATH +#endif // EXPECT_DEATH // If EXPECT_STREQ isn't defined, define our own simple one. #ifndef EXPECT_STREQ diff --git a/compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp b/compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp --- a/compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp +++ b/compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp @@ -303,8 +303,10 @@ } } -// We expect heap operations within a disable/enable scope to deadlock. +// Fuchsia doesn't have alarm, fork or malloc_info. +#if !SCUDO_FUCHSIA TEST(ScudoWrappersCTest, MallocDisableDeadlock) { + // We expect heap operations within a disable/enable scope to deadlock. EXPECT_DEATH( { void *P = malloc(Size); @@ -318,9 +320,6 @@ ""); } -// Fuchsia doesn't have fork or malloc_info. -#if !SCUDO_FUCHSIA - TEST(ScudoWrappersCTest, MallocInfo) { // Use volatile so that the allocations don't get optimized away. void *volatile P1 = malloc(1234);