summaryrefslogtreecommitdiffstats
path: root/chrome/test/test_timeouts.cc
diff options
context:
space:
mode:
authorphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-10 20:38:41 +0000
committerphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-10 20:38:41 +0000
commitc36a87afc467a1fd2eb4bb2309051bc8e45e4393 (patch)
tree6c5a63be1787fdb88ad9f658f1ee3543929d6e28 /chrome/test/test_timeouts.cc
parent6ece06fd803d64f8fcc4edec55e090940b46e4c2 (diff)
downloadchromium_src-c36a87afc467a1fd2eb4bb2309051bc8e45e4393.zip
chromium_src-c36a87afc467a1fd2eb4bb2309051bc8e45e4393.tar.gz
chromium_src-c36a87afc467a1fd2eb4bb2309051bc8e45e4393.tar.bz2
GTTF: Move UI test timeouts to a centralized place, chrome/test/test_timeouts.
Next patches will also centralize timeouts for our other test binaries based on that file. BUG=none TEST=none Review URL: http://codereview.chromium.org/3308020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59145 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/test_timeouts.cc')
-rw-r--r--chrome/test/test_timeouts.cc67
1 files changed, 67 insertions, 0 deletions
diff --git a/chrome/test/test_timeouts.cc b/chrome/test/test_timeouts.cc
new file mode 100644
index 0000000..245f148
--- /dev/null
+++ b/chrome/test/test_timeouts.cc
@@ -0,0 +1,67 @@
+// Copyright (c) 2010 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/test/test_timeouts.h"
+
+#include "base/command_line.h"
+#include "base/logging.h"
+#include "base/string_number_conversions.h"
+#include "chrome/test/test_switches.h"
+
+namespace {
+
+void InitializeTimeout(const char* switch_name, int* value) {
+ DCHECK(value);
+ if (CommandLine::ForCurrentProcess()->HasSwitch(switch_name)) {
+ std::string string_value(
+ CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switch_name));
+ int timeout;
+ base::StringToInt(string_value, &timeout);
+ *value = std::max(*value, timeout);
+ }
+}
+
+} // namespace
+
+// static
+bool TestTimeouts::initialized_ = false;
+
+// The timeout values should increase in the order they appear in this block.
+// static
+int TestTimeouts::action_timeout_ms_ = 2000;
+int TestTimeouts::action_max_timeout_ms_ = 15000;
+int TestTimeouts::large_test_timeout_ms_ = 10 * 60 * 1000;
+
+// static
+int TestTimeouts::sleep_timeout_ms_ = 2000;
+
+// static
+int TestTimeouts::command_execution_timeout_ms_ = 25000;
+
+// static
+int TestTimeouts::wait_for_terminate_timeout_ms_ = 15000;
+
+// static
+void TestTimeouts::Initialize() {
+ if (initialized_) {
+ NOTREACHED();
+ return;
+ }
+ initialized_ = true;
+
+ InitializeTimeout(switches::kUiTestActionTimeout, &action_timeout_ms_);
+ InitializeTimeout(switches::kUiTestActionMaxTimeout,
+ &action_max_timeout_ms_);
+ InitializeTimeout(switches::kUiTestTimeout, &large_test_timeout_ms_);
+
+ // The timeout values should be increasing in the right order.
+ CHECK(action_timeout_ms_ <= action_max_timeout_ms_);
+ CHECK(action_max_timeout_ms_ <= large_test_timeout_ms_);
+
+ InitializeTimeout(switches::kUiTestSleepTimeout, &sleep_timeout_ms_);
+ InitializeTimeout(switches::kUiTestCommandExecutionTimeout,
+ &command_execution_timeout_ms_);
+ InitializeTimeout(switches::kUiTestTerminateTimeout,
+ &wait_for_terminate_timeout_ms_);
+}