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

Unified Diff: chrome/test/selenium/selenium_test.cc

Issue 7491098: Remove selenium_tests, they're obsolete. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 4 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 | « chrome/test/selenium/README ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/selenium/selenium_test.cc
===================================================================
--- chrome/test/selenium/selenium_test.cc (revision 95830)
+++ chrome/test/selenium/selenium_test.cc (working copy)
@@ -1,179 +0,0 @@
-// 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.
-
-// This is a gTest-based test that runs the Selenium Core testsuite in Chrome
-// using the UITest automation. The number of total and failed tests are
-// written to stdout.
-//
-// TODO(darin): output the names of the failed tests so we can easily track
-// deviations from the expected output.
-
-#include <list>
-#include <set>
-
-#include "base/file_path.h"
-#include "base/file_util.h"
-#include "base/path_service.h"
-#include "base/string_split.h"
-#include "base/string_util.h"
-#include "base/test/test_timeouts.h"
-#include "base/utf_string_conversions.h"
-#include "chrome/common/chrome_paths.h"
-#include "chrome/test/automation/tab_proxy.h"
-#include "chrome/test/automation/window_proxy.h"
-#include "chrome/test/ui/ui_test.h"
-#include "net/base/net_util.h"
-
-#ifdef SIMULATE_RUN
-#include "base/rand_util.h"
-#endif
-
-// Uncomment this to exercise this test without actually running the selenium
-// test, which can take a while to run. This define is useful when modifying
-// the analysis code.
-//#define SIMULATE_RUN 1
-
-namespace {
-
-// This file is a comma separated list of tests that are currently failing.
-const char kExpectedFailuresFileName[] = "expected_failures.txt";
-
-class SeleniumTest : public UITest {
- public:
- SeleniumTest() {
- show_window_ = true;
- }
- typedef std::list<std::string> ResultsList;
- typedef std::set<std::string> ResultsSet;
-
- // Parses a selenium results string, which is of the form:
- // "5.selectFrame,6.click,24.selectAndWait,24.verifyTitle"
- void ParseResults(const std::string& input, ResultsSet* output) {
- if (input.empty())
- return;
-
- std::vector<std::string> tokens;
- base::SplitString(input, ',', &tokens);
- for (size_t i = 0; i < tokens.size(); ++i) {
- TrimWhitespaceASCII(tokens[i], TRIM_ALL, &tokens[i]);
- output->insert(tokens[i]);
- }
- }
-
- // Find the elements of "b" that are not in "a"
- void CompareSets(const ResultsSet& a, const ResultsSet& b,
- ResultsList* only_in_b) {
- ResultsSet::const_iterator it = b.begin();
- for (; it != b.end(); ++it) {
- if (a.find(*it) == a.end())
- only_in_b->push_back(*it);
- }
- }
-
- // The results file is in trunk/chrome/test/selenium/
- FilePath GetResultsFilePath() {
- FilePath results_path;
- PathService::Get(chrome::DIR_TEST_DATA, &results_path);
- results_path = results_path.DirName();
- results_path = results_path.AppendASCII("selenium");
- results_path = results_path.AppendASCII(kExpectedFailuresFileName);
- return results_path;
- }
-
- bool ReadExpectedResults(std::string* results) {
- FilePath results_path = GetResultsFilePath();
- return file_util::ReadFileToString(results_path, results);
- }
-
- void RunSelenium(std::wstring* total, std::wstring* failed) {
-#ifdef SIMULATE_RUN
- *total = L"100";
- const wchar_t* kBogusFailures[] = {
- L"5.selectFrame,6.click,24.selectAndWait,24.verifyTitle",
- L"5.selectFrame,6.click,13.verifyLocation,13.verifyLocation,13.click,"
- L"24.selectAndWait,24.verifyTitle",
- L"5.selectFrame,6.click,24.selectAndWait"
- };
- *failed = kBogusFailures[base::RandInt(0, 2)];
-#else
- FilePath test_path;
- PathService::Get(chrome::DIR_TEST_DATA, &test_path);
- test_path = test_path.DirName();
- test_path = test_path.DirName();
- test_path = test_path.DirName();
- test_path = test_path.AppendASCII("data");
- test_path = test_path.AppendASCII("selenium_core");
- test_path = test_path.AppendASCII("core");
- test_path = test_path.AppendASCII("TestRunner.html");
-
- GURL test_url(net::FilePathToFileURL(test_path));
- scoped_refptr<TabProxy> tab(GetActiveTab());
- tab->NavigateToURL(test_url);
-
- // Wait for the test to finish.
- ASSERT_TRUE(WaitUntilCookieValue(
- tab.get(), test_url, "__tests_finished",
- TestTimeouts::huge_test_timeout_ms(), "1"));
-
- std::string cookie;
- ASSERT_TRUE(tab->GetCookieByName(test_url, "__num_tests_total", &cookie));
- *total = UTF8ToWide(cookie);
- ASSERT_FALSE(total->empty());
- ASSERT_TRUE(tab->GetCookieByName(test_url, "__tests_failed", &cookie));
- *failed = UTF8ToWide(cookie);
- // The __tests_failed cookie will be empty if all the tests pass.
-#endif
- }
-
- void RunTest(ResultsList* new_passes_list, ResultsList* new_failures_list) {
- std::string expected_failures;
- bool have_expected_results = ReadExpectedResults(&expected_failures);
- ASSERT_TRUE(have_expected_results);
-
- std::wstring total, failed;
- RunSelenium(&total, &failed);
- if (total.empty())
- return;
-
- printf("\n");
- wprintf(L"__num_tests_total = [%s]\n", total.c_str());
- wprintf(L"__tests_failed = [%s]\n", failed.c_str());
-
- std::string cur_failures = WideToUTF8(failed);
-
- ResultsSet expected_failures_set;
- ParseResults(expected_failures, &expected_failures_set);
-
- ResultsSet cur_failures_set;
- ParseResults(cur_failures, &cur_failures_set);
-
- // Compute the list of new passes and failures
- CompareSets(cur_failures_set, expected_failures_set, new_passes_list);
- CompareSets(expected_failures_set, cur_failures_set, new_failures_list);
- }
-};
-
-} // namespace
-
-TEST_F(SeleniumTest, Core) {
- ResultsList new_passes_list, new_failures_list;
- RunTest(&new_passes_list, &new_failures_list);
-
- if (!new_failures_list.empty()) {
- ADD_FAILURE();
- printf("new tests failing:\n");
- ResultsList::const_iterator it = new_failures_list.begin();
- for (; it != new_failures_list.end(); ++it)
- printf(" %s\n", it->c_str());
- printf("\n");
- }
-
- if (!new_passes_list.empty()) {
- printf("new tests passing:\n");
- ResultsList::const_iterator it = new_passes_list.begin();
- for (; it != new_passes_list.end(); ++it)
- printf(" %s\n", it->c_str());
- printf("\n");
- }
-}
« no previous file with comments | « chrome/test/selenium/README ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698