OLD | NEW |
| (Empty) |
1 // Copyright 2014 the V8 project authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef V8_COMPILER_UNITTESTS_COMPILER_UNITTESTS_H_ | |
6 #define V8_COMPILER_UNITTESTS_COMPILER_UNITTESTS_H_ | |
7 | |
8 #include "include/v8.h" | |
9 #include "src/zone.h" | |
10 #include "testing/gtest-support.h" | |
11 | |
12 namespace v8 { | |
13 namespace internal { | |
14 namespace compiler { | |
15 | |
16 // The TARGET_TEST(Case, Name) macro works just like | |
17 // TEST(Case, Name), except that the test is disabled | |
18 // if the platform is not a supported TurboFan target. | |
19 #if V8_TURBOFAN_TARGET | |
20 #define TARGET_TEST(Case, Name) TEST(Case, Name) | |
21 #else | |
22 #define TARGET_TEST(Case, Name) TEST(Case, DISABLED_##Name) | |
23 #endif | |
24 | |
25 | |
26 // The TARGET_TEST_F(Case, Name) macro works just like | |
27 // TEST_F(Case, Name), except that the test is disabled | |
28 // if the platform is not a supported TurboFan target. | |
29 #if V8_TURBOFAN_TARGET | |
30 #define TARGET_TEST_F(Case, Name) TEST_F(Case, Name) | |
31 #else | |
32 #define TARGET_TEST_F(Case, Name) TEST_F(Case, DISABLED_##Name) | |
33 #endif | |
34 | |
35 | |
36 // The TARGET_TEST_P(Case, Name) macro works just like | |
37 // TEST_P(Case, Name), except that the test is disabled | |
38 // if the platform is not a supported TurboFan target. | |
39 #if V8_TURBOFAN_TARGET | |
40 #define TARGET_TEST_P(Case, Name) TEST_P(Case, Name) | |
41 #else | |
42 #define TARGET_TEST_P(Case, Name) TEST_P(Case, DISABLED_##Name) | |
43 #endif | |
44 | |
45 | |
46 // The TARGET_TYPED_TEST(Case, Name) macro works just like | |
47 // TYPED_TEST(Case, Name), except that the test is disabled | |
48 // if the platform is not a supported TurboFan target. | |
49 #if V8_TURBOFAN_TARGET | |
50 #define TARGET_TYPED_TEST(Case, Name) TYPED_TEST(Case, Name) | |
51 #else | |
52 #define TARGET_TYPED_TEST(Case, Name) TYPED_TEST(Case, DISABLED_##Name) | |
53 #endif | |
54 | |
55 | |
56 class CompilerTest : public ::testing::Test { | |
57 public: | |
58 CompilerTest(); | |
59 virtual ~CompilerTest(); | |
60 | |
61 Factory* factory() const; | |
62 Isolate* isolate() const { return reinterpret_cast<Isolate*>(isolate_); } | |
63 Zone* zone() { return &zone_; } | |
64 | |
65 static void SetUpTestCase(); | |
66 static void TearDownTestCase(); | |
67 | |
68 private: | |
69 static v8::Isolate* isolate_; | |
70 v8::Isolate::Scope isolate_scope_; | |
71 v8::HandleScope handle_scope_; | |
72 v8::Context::Scope context_scope_; | |
73 Zone zone_; | |
74 }; | |
75 | |
76 | |
77 template <typename T> | |
78 class CompilerTestWithParam : public CompilerTest, | |
79 public ::testing::WithParamInterface<T> {}; | |
80 | |
81 } // namespace compiler | |
82 } // namespace internal | |
83 } // namespace v8 | |
84 | |
85 #endif // V8_COMPILER_UNITTESTS_COMPILER_UNITTESTS_H_ | |
OLD | NEW |