summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/signin/e2e_tests/live_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/signin/e2e_tests/live_test.cc')
-rw-r--r--chromium/chrome/browser/signin/e2e_tests/live_test.cc61
1 files changed, 61 insertions, 0 deletions
diff --git a/chromium/chrome/browser/signin/e2e_tests/live_test.cc b/chromium/chrome/browser/signin/e2e_tests/live_test.cc
new file mode 100644
index 00000000000..e8d22189e73
--- /dev/null
+++ b/chromium/chrome/browser/signin/e2e_tests/live_test.cc
@@ -0,0 +1,61 @@
+// Copyright 2019 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 "chrome/browser/signin/e2e_tests/live_test.h"
+
+#include "base/files/file_util.h"
+#include "base/path_service.h"
+#include "net/dns/mock_host_resolver.h"
+
+base::FilePath::StringPieceType kTestAccountFilePath = FILE_PATH_LITERAL(
+ "chrome/browser/internal/resources/signin/test_accounts.json");
+
+const char* kRunLiveTestFlag = "run-live-tests";
+
+namespace signin {
+namespace test {
+
+void LiveTest::SetUpInProcessBrowserTestFixture() {
+ // Whitelists a bunch of hosts.
+ host_resolver()->AllowDirectLookup("*.google.com");
+ host_resolver()->AllowDirectLookup("*.geotrust.com");
+ host_resolver()->AllowDirectLookup("*.gstatic.com");
+ host_resolver()->AllowDirectLookup("*.googleapis.com");
+ // Allows country-specific TLDs.
+ host_resolver()->AllowDirectLookup("accounts.google.*");
+
+ InProcessBrowserTest::SetUpInProcessBrowserTestFixture();
+}
+
+void LiveTest::SetUp() {
+ // Only run live tests when specified.
+ auto* cmd_line = base::CommandLine::ForCurrentProcess();
+ if (!cmd_line->HasSwitch(kRunLiveTestFlag)) {
+ LOG(INFO) << "This test should get skipped.";
+ skip_test_ = true;
+ GTEST_SKIP();
+ }
+ base::FilePath root_path;
+ base::PathService::Get(base::BasePathKey::DIR_SOURCE_ROOT, &root_path);
+ base::FilePath config_path =
+ base::MakeAbsoluteFilePath(root_path.Append(kTestAccountFilePath));
+ test_accounts_.Init(config_path);
+ InProcessBrowserTest::SetUp();
+}
+
+void LiveTest::TearDown() {
+ // This test was skipped, no need to tear down.
+ if (skip_test_)
+ return;
+ InProcessBrowserTest::TearDown();
+}
+
+void LiveTest::PostRunTestOnMainThread() {
+ // This test was skipped. Running PostRunTestOnMainThread can cause
+ // TIMED_OUT on Win7.
+ if (skip_test_)
+ return;
+ InProcessBrowserTest::PostRunTestOnMainThread();
+}
+} // namespace test
+} // namespace signin