summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-24 19:34:04 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-24 19:34:04 +0000
commit7f0aac7ca1992938a0a173dd0c38cd8acd989552 (patch)
tree9734c7f57f08756a972de6768bda343c64b7b9fa /base
parent58af7fff62de19ca13b0747843b69d34dd9a0522 (diff)
downloadchromium_src-7f0aac7ca1992938a0a173dd0c38cd8acd989552.zip
chromium_src-7f0aac7ca1992938a0a173dd0c38cd8acd989552.tar.gz
chromium_src-7f0aac7ca1992938a0a173dd0c38cd8acd989552.tar.bz2
Disable timeouts when we detect that a debugger is attached to a test.
BUG=none R=phajdan.jr@chromium.org Review URL: https://chromiumcodereview.appspot.com/19786014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213490 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r--base/test/test_timeouts.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/base/test/test_timeouts.cc b/base/test/test_timeouts.cc
index e8e4153..ed689c28 100644
--- a/base/test/test_timeouts.cc
+++ b/base/test/test_timeouts.cc
@@ -5,6 +5,7 @@
#include "base/test/test_timeouts.h"
#include "base/command_line.h"
+#include "base/debug/debugger.h"
#include "base/logging.h"
#include "base/strings/string_number_conversions.h"
#include "base/test/test_switches.h"
@@ -19,6 +20,8 @@ static const int kTimeoutMultiplier = 2;
static const int kTimeoutMultiplier = 1;
#endif
+const int kAlmostInfiniteTimeoutMs = 100000000;
+
// Sets value to the greatest of:
// 1) value's current value multiplied by kTimeoutMultiplier (assuming
// InitializeTimeout is called only once per value).
@@ -71,10 +74,17 @@ void TestTimeouts::Initialize() {
}
initialized_ = true;
+ if (base::debug::BeingDebugged()) {
+ fprintf(stdout,
+ "Detected presence of a debugger, running without test timeouts.\n");
+ }
+
// Note that these timeouts MUST be initialized in the correct order as
// per the CHECKS below.
InitializeTimeout(switches::kTestTinyTimeout, &tiny_timeout_ms_);
- InitializeTimeout(switches::kUiTestActionTimeout, tiny_timeout_ms_,
+ InitializeTimeout(switches::kUiTestActionTimeout,
+ base::debug::BeingDebugged() ? kAlmostInfiniteTimeoutMs
+ : tiny_timeout_ms_,
&action_timeout_ms_);
InitializeTimeout(switches::kUiTestActionMaxTimeout, action_timeout_ms_,
&action_max_timeout_ms_);