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

Unified Diff: content/test/layout_browsertest.cc

Issue 16268011: Remove InProcessBrowserLayoutTest, since we now run layout tests in content_shell (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: updates Created 7 years, 6 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
« no previous file with comments | « content/test/layout_browsertest.h ('k') | content/test/layout_test_http_server.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/test/layout_browsertest.cc
diff --git a/content/test/layout_browsertest.cc b/content/test/layout_browsertest.cc
deleted file mode 100644
index d6aeb25c35cb57c90ee8b10584494aee1a49fc13..0000000000000000000000000000000000000000
--- a/content/test/layout_browsertest.cc
+++ /dev/null
@@ -1,217 +0,0 @@
-// Copyright (c) 2012 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.
-
-#include "content/test/layout_browsertest.h"
-
-#include <sstream>
-
-#include "base/command_line.h"
-#include "base/file_util.h"
-#include "base/files/file_path.h"
-#include "base/files/scoped_temp_dir.h"
-#include "base/path_service.h"
-#include "base/rand_util.h"
-#include "base/run_loop.h"
-#include "base/string_util.h"
-#include "base/stringprintf.h"
-#include "base/utf_string_conversions.h"
-#include "content/browser/web_contents/web_contents_impl.h"
-#include "content/public/common/content_paths.h"
-#include "content/public/test/browser_test_utils.h"
-#include "content/public/test/layouttest_support.h"
-#include "content/shell/common/shell_switches.h"
-#include "content/shell/shell.h"
-#include "content/shell/webkit_test_controller.h"
-#include "content/test/content_browser_test_utils.h"
-#include "content/test/layout_test_http_server.h"
-#include "net/base/net_util.h"
-
-#if defined(OS_WIN)
-static const char kPlatformName[] = "chromium-win";
-#elif defined(OS_MACOSX)
-static const char kPlatformName[] = "chromium-mac";
-#elif defined(OS_LINUX)
-static const char kPlatformName[] = "chromium-linux";
-#elif defined(OS_OPENBSD)
-static const char kPlatformName[] = "chromium-openbsd";
-#elif defined(OS_ANDROID)
-static const char kPlatformName[] = "chromium-android";
-#else
-#error No known OS defined
-#endif
-
-namespace content {
-namespace {
-
-bool ReadExpectedResult(const base::FilePath& result_dir_path,
- const std::string test_case_file_name,
- std::string* expected_result_value) {
- base::FilePath expected_result_path(result_dir_path);
- expected_result_path = expected_result_path.AppendASCII(test_case_file_name);
- expected_result_path = expected_result_path.InsertBeforeExtension(
- FILE_PATH_LITERAL("-expected"));
- expected_result_path =
- expected_result_path.ReplaceExtension(FILE_PATH_LITERAL("txt"));
- return file_util::ReadFileToString(
- expected_result_path, expected_result_value);
-}
-
-} // namespace
-
-InProcessBrowserLayoutTest::InProcessBrowserLayoutTest(
- const base::FilePath& test_parent_dir, const base::FilePath& test_case_dir)
- : test_parent_dir_(test_parent_dir), test_case_dir_(test_case_dir),
- port_(-2) {
-}
-
-InProcessBrowserLayoutTest::InProcessBrowserLayoutTest(
- const base::FilePath& test_parent_dir,
- const base::FilePath& test_case_dir,
- int port)
- : test_parent_dir_(test_parent_dir), test_case_dir_(test_case_dir),
- port_(port) {
-}
-
-InProcessBrowserLayoutTest::~InProcessBrowserLayoutTest() {
- if (test_http_server_)
- CHECK(test_http_server_->Stop());
-}
-
-void InProcessBrowserLayoutTest::SetUpInProcessBrowserTestFixture() {
- EnableBrowserLayoutTestMode();
-
- base::FilePath src_dir;
- ASSERT_TRUE(PathService::Get(DIR_LAYOUT_TESTS, &src_dir));
- base::FilePath absolute_parent_dir = src_dir.Append(test_parent_dir_);
- ASSERT_TRUE(file_util::DirectoryExists(absolute_parent_dir));
- layout_test_dir_ = absolute_parent_dir.Append(test_case_dir_);
- ASSERT_TRUE(file_util::DirectoryExists(layout_test_dir_));
-
- // Gets the file path to rebased expected result directory for the current
- // platform.
- // $LayoutTestRoot/platform/chromium_***/...
- rebase_result_dir_ = src_dir.AppendASCII("platform");
- rebase_result_dir_ = rebase_result_dir_.AppendASCII(kPlatformName);
- rebase_result_dir_ = rebase_result_dir_.Append(test_parent_dir_);
- rebase_result_dir_ = rebase_result_dir_.Append(test_case_dir_);
-
- // Generic chromium expected results. Not OS-specific. For example,
- // v8-specific differences go here.
- // chrome/test/data/layout_tests/LayoutTests/platform/chromium/...
- rebase_result_chromium_dir_ = src_dir.AppendASCII("platform").
- AppendASCII("chromium").
- Append(test_parent_dir_).
- Append(test_case_dir_);
-
- // Gets the file path to rebased expected result directory under the
- // win32 platform. This is used by other non-win32 platform to use the same
- // rebased expected results.
-#if !defined(OS_WIN)
- rebase_result_win_dir_ = src_dir.AppendASCII("platform").
- AppendASCII("chromium-win").
- Append(test_parent_dir_).
- Append(test_case_dir_);
-#endif
-
- if (port_ != -2) {
- // Layout tests expect that the server points at the
- // LayoutTests\http\tests directory.
- if (port_ == -1)
- port_ = base::RandInt(1024, 65535);
- test_http_server_.reset(new LayoutTestHttpServer(
- absolute_parent_dir, port_));
- ASSERT_TRUE(test_http_server_->Start());
- }
-}
-
-void InProcessBrowserLayoutTest::SetUpCommandLine(CommandLine* command_line) {
- command_line->AppendSwitch(switches::kDumpRenderTree);
-}
-
-void InProcessBrowserLayoutTest::SetUpOnMainThread() {
- test_controller_.reset(new WebKitTestController);
-}
-
-void InProcessBrowserLayoutTest::RunLayoutTest(
- const std::string& test_case_file_name) {
- GURL url = net::FilePathToFileURL(
- layout_test_dir_.AppendASCII(test_case_file_name));
- RunLayoutTestInternal(test_case_file_name, url);
-}
-
-void InProcessBrowserLayoutTest::RunHttpLayoutTest(
- const std::string& test_case_file_name) {
- DCHECK(test_http_server_.get());
- GURL url(base::StringPrintf(
- "http://127.0.0.1:%d/%s/%s", port_, test_case_dir_.MaybeAsASCII().c_str(),
- test_case_file_name.c_str()));
- RunLayoutTestInternal(test_case_file_name, url);
-}
-
-void InProcessBrowserLayoutTest::RunLayoutTestInternal(
- const std::string& test_case_file_name, const GURL& url) {
- std::stringstream result;
- scoped_ptr<WebKitTestResultPrinter> printer(
- new WebKitTestResultPrinter(&result, NULL));
- printer->set_capture_text_only(true);
- test_controller_->set_printer(printer.release());
-
- LOG(INFO) << "Navigating to URL " << url << " and blocking.";
- ASSERT_TRUE(test_controller_->PrepareForLayoutTest(
- url, layout_test_dir_, false, std::string()));
- base::RunLoop run_loop;
- run_loop.Run();
- LOG(INFO) << "Navigation completed.";
- ASSERT_TRUE(test_controller_->ResetAfterLayoutTest());
-
- std::string actual_text = result.str();;
-
- std::string expected_text;
- // Reads the expected result. First try to read from rebase directory.
- // If failed, read from original directory.
- if (!ReadExpectedResult(rebase_result_dir_,
- test_case_file_name,
- &expected_text) &&
- !ReadExpectedResult(rebase_result_chromium_dir_,
- test_case_file_name,
- &expected_text)) {
- if (rebase_result_win_dir_.empty() ||
- !ReadExpectedResult(rebase_result_win_dir_,
- test_case_file_name,
- &expected_text))
- ReadExpectedResult(layout_test_dir_,
- test_case_file_name,
- &expected_text);
- }
- ASSERT_TRUE(!expected_text.empty());
-
- CommandLine* command_line = CommandLine::ForCurrentProcess();
- if (command_line->HasSwitch(switches::kOutputLayoutTestDifferences)) {
- EXPECT_EQ(expected_text, actual_text) <<
- SaveResults(expected_text, actual_text);
- } else {
- EXPECT_EQ(expected_text, actual_text);
- }
-}
-
-std::string InProcessBrowserLayoutTest::SaveResults(const std::string& expected,
- const std::string& actual) {
- base::FilePath cwd;
- EXPECT_TRUE(file_util::CreateNewTempDirectory(
- base::FilePath::StringType(), &cwd));
- base::FilePath expected_filename =
- cwd.Append(FILE_PATH_LITERAL("expected.txt"));
- base::FilePath actual_filename = cwd.Append(FILE_PATH_LITERAL("actual.txt"));
- EXPECT_NE(-1, file_util::WriteFile(expected_filename,
- expected.c_str(),
- expected.size()));
- EXPECT_NE(-1, file_util::WriteFile(actual_filename,
- actual.c_str(),
- actual.size()));
- return base::StringPrintf("Wrote %"PRFilePath" %"PRFilePath,
- expected_filename.value().c_str(),
- actual_filename.value().c_str());
-}
-
-} // namespace content
« no previous file with comments | « content/test/layout_browsertest.h ('k') | content/test/layout_test_http_server.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698