| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/file_path.h" | 5 #include "base/file_path.h" |
| 6 #include "base/files/scoped_temp_dir.h" | 6 #include "base/files/scoped_temp_dir.h" |
| 7 #include "content/test/content_browser_test.h" | 7 #include "content/test/content_browser_test.h" |
| 8 | 8 |
| 9 class GURL; | 9 class GURL; |
| 10 | 10 |
| 11 namespace content { | 11 namespace content { |
| 12 class LayoutTestHttpServer; | 12 class LayoutTestHttpServer; |
| 13 class WebKitTestController; | 13 class WebKitTestController; |
| 14 | 14 |
| 15 class InProcessBrowserLayoutTest : public ContentBrowserTest { | 15 class InProcessBrowserLayoutTest : public ContentBrowserTest { |
| 16 public: | 16 public: |
| 17 explicit InProcessBrowserLayoutTest(const FilePath& test_parent_dir, | 17 explicit InProcessBrowserLayoutTest(const base::FilePath& test_parent_dir, |
| 18 const FilePath& test_case_dir); | 18 const base::FilePath& test_case_dir); |
| 19 // Used when running HTTP layout tests. Starts the server in the constructor | 19 // Used when running HTTP layout tests. Starts the server in the constructor |
| 20 // and keeps it running through the lifetime of this test. This is done to | 20 // and keeps it running through the lifetime of this test. This is done to |
| 21 // avoid flakiness in restarting the server while the port is still in use. | 21 // avoid flakiness in restarting the server while the port is still in use. |
| 22 // If -1 is passed for |port|, a random number will be used. This is | 22 // If -1 is passed for |port|, a random number will be used. This is |
| 23 // recommended when possible, in case multiple tests are running at the same | 23 // recommended when possible, in case multiple tests are running at the same |
| 24 // time. For some tests this isn't possible though, because they use resources | 24 // time. For some tests this isn't possible though, because they use resources |
| 25 // that hardcode a specific port. | 25 // that hardcode a specific port. |
| 26 InProcessBrowserLayoutTest(const FilePath& test_parent_dir, | 26 InProcessBrowserLayoutTest(const base::FilePath& test_parent_dir, |
| 27 const FilePath& test_case_dir, | 27 const base::FilePath& test_case_dir, |
| 28 int port); | 28 int port); |
| 29 virtual ~InProcessBrowserLayoutTest(); | 29 virtual ~InProcessBrowserLayoutTest(); |
| 30 | 30 |
| 31 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE; | 31 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE; |
| 32 virtual void SetUpOnMainThread() OVERRIDE; | 32 virtual void SetUpOnMainThread() OVERRIDE; |
| 33 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE; | 33 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE; |
| 34 // Runs a layout test given its filename relative to the path given to the | 34 // Runs a layout test given its filename relative to the path given to the |
| 35 // constructor. | 35 // constructor. |
| 36 void RunLayoutTest(const std::string& test_case_file_name); | 36 void RunLayoutTest(const std::string& test_case_file_name); |
| 37 // Runs a layout test using the HTTP test server. The second constructor must | 37 // Runs a layout test using the HTTP test server. The second constructor must |
| 38 // have been used. | 38 // have been used. |
| 39 void RunHttpLayoutTest(const std::string& test_case_file_name); | 39 void RunHttpLayoutTest(const std::string& test_case_file_name); |
| 40 | 40 |
| 41 private: | 41 private: |
| 42 void RunLayoutTestInternal(const std::string& test_case_file_name, | 42 void RunLayoutTestInternal(const std::string& test_case_file_name, |
| 43 const GURL& url); | 43 const GURL& url); |
| 44 std::string SaveResults(const std::string& expected, | 44 std::string SaveResults(const std::string& expected, |
| 45 const std::string& actual); | 45 const std::string& actual); |
| 46 | 46 |
| 47 FilePath layout_test_dir_; | 47 base::FilePath layout_test_dir_; |
| 48 FilePath test_parent_dir_; | 48 base::FilePath test_parent_dir_; |
| 49 FilePath test_case_dir_; | 49 base::FilePath test_case_dir_; |
| 50 FilePath rebase_result_dir_; | 50 base::FilePath rebase_result_dir_; |
| 51 FilePath rebase_result_chromium_dir_; | 51 base::FilePath rebase_result_chromium_dir_; |
| 52 FilePath rebase_result_win_dir_; | 52 base::FilePath rebase_result_win_dir_; |
| 53 int port_; // -2 means no port. -1 means random. | 53 int port_; // -2 means no port. -1 means random. |
| 54 scoped_ptr<LayoutTestHttpServer> test_http_server_; | 54 scoped_ptr<LayoutTestHttpServer> test_http_server_; |
| 55 | 55 |
| 56 scoped_ptr<WebKitTestController> test_controller_; | 56 scoped_ptr<WebKitTestController> test_controller_; |
| 57 | 57 |
| 58 DISALLOW_COPY_AND_ASSIGN(InProcessBrowserLayoutTest); | 58 DISALLOW_COPY_AND_ASSIGN(InProcessBrowserLayoutTest); |
| 59 }; | 59 }; |
| 60 | 60 |
| 61 } // namespace content | 61 } // namespace content |
| OLD | NEW |