Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1695)

Unified Diff: content/test/layout_browsertest.h

Issue 9802025: Rewrite HTML5 workers ui_tests to browser_tests. Compared to ui_tests, browser_tests are faster, le… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: add directory create call needed on linux Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/test/layout_browsertest.h
===================================================================
--- content/test/layout_browsertest.h (revision 129415)
+++ content/test/layout_browsertest.h (working copy)
@@ -6,24 +6,50 @@
#include "base/scoped_temp_dir.h"
#include "chrome/test/base/in_process_browser_test.h"
+class LayoutTestHttpServer;
+
class InProcessBrowserLayoutTest : public InProcessBrowserTest {
public:
- explicit InProcessBrowserLayoutTest(const FilePath relative_layout_test_path);
+ explicit InProcessBrowserLayoutTest(const FilePath& test_parent_dir,
+ const FilePath& test_case_dir);
+ // Used when running HTTP layout tests. Starts the server in the constructor
+ // and keeps it running through the lifetime of this test. This is done to
+ // avoid flakiness in restarting the server while the port is still in use.
+ // If -1 is passed for |port|, a random number will be used. This is
+ // recommended when possible, in case multiple tests are running at the same
+ // time. For some tests this isn't possible though, because they use resources
+ // that hardcode a specific port.
+ InProcessBrowserLayoutTest(const FilePath& test_parent_dir,
+ const FilePath& test_case_dir,
+ int port);
virtual ~InProcessBrowserLayoutTest();
virtual void SetUpInProcessBrowserTestFixture() OVERRIDE;
+ // Runs a layout test given its filename relative to the path given to the
+ // constructor.
void RunLayoutTest(const std::string& test_case_file_name);
+ // Runs a layout test using the HTTP test server. The second constructor must
+ // have been used.
+ void RunHttpLayoutTest(const std::string& test_case_file_name);
void AddResourceForLayoutTest(const FilePath& parent_dir,
const FilePath& resource_name);
private:
+ void RunLayoutTestInternal(const std::string& test_case_file_name,
+ const GURL& url);
void WriteModifiedFile(const std::string& test_case_file_name,
- GURL* test_url);
+ FilePath* test_path);
FilePath our_original_layout_test_dir_;
- FilePath original_relative_path_;
+ FilePath test_parent_dir_;
+ FilePath test_case_dir_;
FilePath our_layout_test_temp_dir_;
+ FilePath rebase_result_dir_;
+ FilePath rebase_result_chromium_dir_;
+ FilePath rebase_result_win_dir_;
ScopedTempDir scoped_temp_dir_;
+ int port_; // -2 means no port. -1 means random.
+ scoped_ptr<LayoutTestHttpServer> test_http_server_;
DISALLOW_COPY_AND_ASSIGN(InProcessBrowserLayoutTest);
};

Powered by Google App Engine
This is Rietveld 408576698