summaryrefslogtreecommitdiffstats
path: root/chrome/test/browser/browser_test_runner.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/test/browser/browser_test_runner.h')
-rw-r--r--chrome/test/browser/browser_test_runner.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/chrome/test/browser/browser_test_runner.h b/chrome/test/browser/browser_test_runner.h
new file mode 100644
index 0000000..cbc0ddf
--- /dev/null
+++ b/chrome/test/browser/browser_test_runner.h
@@ -0,0 +1,51 @@
+// Copyright (c) 2009 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 CHROME_TEST_BROWSER_BROWSER_TEST_RUNNER_
+#define CHROME_TEST_BROWSER_BROWSER_TEST_RUNNER_
+
+#include <string>
+#include <vector>
+
+#include "base/basictypes.h"
+
+namespace browser_tests {
+
+class BrowserTestRunnerFactory;
+
+// Runs the tests specified by the --gtest_filter flag specified in the command
+// line that started this process.
+// Returns true if all tests succeeded, false if there were no tests to run, or
+// one or more tests failed, or if initialization failed.
+// Results are printed to stdout.
+bool RunTests(const BrowserTestRunnerFactory& browser_test_runner_factory);
+
+// This class defines a way to run browser tests.
+// There are 2 implementations, in-process and out-of-process.
+class BrowserTestRunner {
+ public:
+ BrowserTestRunner();
+ virtual ~BrowserTestRunner();
+
+ // Called once before the BrowserTestRunner is used. Gives it an opportunity
+ // to perform any requried initialization. Should return true if the
+ // initialization was successful.
+ virtual bool Init() = 0;
+
+ // Runs the test named |test_name| and returns true if the test succeeded,
+ // false if it failed.
+ virtual bool RunTest(const std::string& test_name) = 0;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(BrowserTestRunner);
+};
+
+class BrowserTestRunnerFactory {
+ public:
+ virtual BrowserTestRunner* CreateBrowserTestRunner() const = 0;
+};
+
+} // namespace
+
+#endif // CHROME_TEST_BROWSER_BROWSER_TEST_RUNNER_