Index: content/test/browser_test.h |
=================================================================== |
--- content/test/browser_test.h (revision 0) |
+++ content/test/browser_test.h (revision 0) |
@@ -0,0 +1,83 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CONTENT_TEST_BROWSER_TEST_H_ |
+#define CONTENT_TEST_BROWSER_TEST_H_ |
+#pragma once |
+ |
+// We only want to use InProcessBrowserTest in test targets which properly |
+// isolate each test case by running each test in a separate process. |
+// This way if a test hangs the test launcher can reliably terminate it. |
+// |
+// InProcessBrowserTest cannot be run more than once in the same address space |
+// anyway - otherwise the second test crashes. |
+#if defined(HAS_OUT_OF_PROC_TEST_RUNNER) |
+ |
+#if defined(BROWSER_TESTS_HEADER_OVERRIDE) |
+#include BROWSER_TESTS_HEADER_OVERRIDE |
+#else |
+#include "content/test/content_browser_test.h" |
+typedef ContentBrowserTest InProcessBrowserTest; |
+#endif |
+ |
+#define IN_PROC_BROWSER_TEST_(test_case_name, test_name, parent_class,\ |
+ parent_id)\ |
+class GTEST_TEST_CLASS_NAME_(test_case_name, test_name) : public parent_class {\ |
+ public:\ |
+ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)() {}\ |
+ protected:\ |
+ virtual void RunTestOnMainThread();\ |
+ private:\ |
+ virtual void TestBody() {}\ |
+ static ::testing::TestInfo* const test_info_;\ |
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(\ |
+ GTEST_TEST_CLASS_NAME_(test_case_name, test_name));\ |
+};\ |
+\ |
+::testing::TestInfo* const GTEST_TEST_CLASS_NAME_(test_case_name, test_name)\ |
+ ::test_info_ =\ |
+ ::testing::internal::MakeAndRegisterTestInfo(\ |
+ #test_case_name, #test_name, "", "", \ |
+ (parent_id), \ |
+ parent_class::SetUpTestCase, \ |
+ parent_class::TearDownTestCase, \ |
+ new ::testing::internal::TestFactoryImpl<\ |
+ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)>);\ |
+void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::RunTestOnMainThread() |
+ |
+#define IN_PROC_BROWSER_TEST_F(test_fixture, test_name)\ |
+ IN_PROC_BROWSER_TEST_(test_fixture, test_name, test_fixture,\ |
+ ::testing::internal::GetTypeId<test_fixture>()) |
+ |
+#define IN_PROC_BROWSER_TEST_P(test_case_name, test_name) \ |
+ class GTEST_TEST_CLASS_NAME_(test_case_name, test_name) \ |
+ : public test_case_name { \ |
+ public: \ |
+ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)() {} \ |
+ protected: \ |
+ virtual void RunTestOnMainThread(); \ |
+ private: \ |
+ virtual void TestBody() {} \ |
+ static int AddToRegistry() { \ |
+ ::testing::UnitTest::GetInstance()->parameterized_test_registry(). \ |
+ GetTestCasePatternHolder<test_case_name>(\ |
+ #test_case_name, __FILE__, __LINE__)->AddTestPattern(\ |
+ #test_case_name, \ |
+ #test_name, \ |
+ new ::testing::internal::TestMetaFactory< \ |
+ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)>()); \ |
+ return 0; \ |
+ } \ |
+ static int gtest_registering_dummy_; \ |
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(\ |
+ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)); \ |
+ }; \ |
+ int GTEST_TEST_CLASS_NAME_(test_case_name, \ |
+ test_name)::gtest_registering_dummy_ = \ |
+ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::AddToRegistry(); \ |
+ void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::RunTestOnMainThread() |
+ |
+#endif // defined(HAS_OUT_OF_PROC_TEST_RUNNER) |
+ |
+#endif // CONTENT_TEST_BROWSER_TEST_H_ |
Property changes on: content\test\browser_test.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |