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.
5 #ifndef V8_COMPILER_UNITTESTS_COMPILER_UNITTESTS_H_
6 #define V8_COMPILER_UNITTESTS_COMPILER_UNITTESTS_H_
8 #include "include/v8.h"
10 #include "testing/gtest/include/gtest/gtest.h"
16 // The COMPILER_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 COMPILER_TEST(Case, Name) TEST(Case, Name)
22 #define COMPILER_TEST(Case, Name) TEST(Case, DISABLED_##Name)
26 // The COMPILER_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 COMPILER_TEST_F(Case, Name) TEST_F(Case, Name)
32 #define COMPILER_TEST_F(Case, Name) TEST_F(Case, DISABLED_##Name)
36 class CompilerTest : public ::testing::Test {
39 virtual ~CompilerTest();
41 Isolate* isolate() const { return reinterpret_cast<Isolate*>(isolate_); }
42 Zone* zone() { return &zone_; }
45 static void SetUpTestCase();
46 static void TearDownTestCase();
49 static v8::Isolate* isolate_;
50 v8::Isolate::Scope isolate_scope_;
51 v8::HandleScope handle_scope_;
52 v8::Context::Scope context_scope_;
56 } // namespace compiler
57 } // namespace internal
60 #endif // V8_COMPILER_UNITTESTS_COMPILER_UNITTESTS_H_