1 //===-- scudo_unit_test.h ---------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include "platform.h"
10 
11 #if SCUDO_FUCHSIA
12 #include <zxtest/zxtest.h>
13 using Test = ::zxtest::Test;
14 #else
15 #include "gtest/gtest.h"
16 using Test = ::testing::Test;
17 #endif
18 
19 // If EXPECT_DEATH isn't defined, make it a no-op.
20 #ifndef EXPECT_DEATH
21 // If ASSERT_DEATH is defined, make EXPECT_DEATH a wrapper to it.
22 #ifdef ASSERT_DEATH
23 #define EXPECT_DEATH(X, Y) ASSERT_DEATH(([&] { X; }), "")
24 #else
25 #define EXPECT_DEATH(X, Y)                                                     \
26   do {                                                                         \
27   } while (0)
28 #endif // ASSERT_DEATH
29 #endif // EXPECT_DEATH
30 
31 // If EXPECT_STREQ isn't defined, define our own simple one.
32 #ifndef EXPECT_STREQ
33 #define EXPECT_STREQ(X, Y) EXPECT_EQ(strcmp(X, Y), 0)
34 #endif
35 
36 #if SCUDO_FUCHSIA
37 #define SKIP_ON_FUCHSIA(T) DISABLED_##T
38 #else
39 #define SKIP_ON_FUCHSIA(T) T
40 #endif
41 
42 #if SCUDO_DEBUG
43 #define SKIP_NO_DEBUG(T) T
44 #else
45 #define SKIP_NO_DEBUG(T) DISABLED_##T
46 #endif
47 
48 extern bool UseQuarantine;
49