summaryrefslogtreecommitdiffstats
path: root/net/disk_cache/disk_cache_test_util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/disk_cache/disk_cache_test_util.cc')
-rw-r--r--net/disk_cache/disk_cache_test_util.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/disk_cache/disk_cache_test_util.cc b/net/disk_cache/disk_cache_test_util.cc
index 4110f04..aa3efef 100644
--- a/net/disk_cache/disk_cache_test_util.cc
+++ b/net/disk_cache/disk_cache_test_util.cc
@@ -150,9 +150,6 @@ MessageLoopHelper::MessageLoopHelper()
num_iterations_(0),
last_(0),
completed_(false) {
- // Create a recurrent timer of 50 mS.
- timer_.Start(
- TimeDelta::FromMilliseconds(50), this, &MessageLoopHelper::TimerExpired);
}
MessageLoopHelper::~MessageLoopHelper() {
@@ -163,6 +160,10 @@ bool MessageLoopHelper::WaitUntilCacheIoFinished(int num_callbacks) {
return true;
ExpectCallbacks(num_callbacks);
+ // Create a recurrent timer of 50 mS.
+ if (!timer_.IsRunning())
+ timer_.Start(TimeDelta::FromMilliseconds(50), this,
+ &MessageLoopHelper::TimerExpired);
MessageLoop::current()->Run();
return completed_;
}
@@ -170,9 +171,8 @@ bool MessageLoopHelper::WaitUntilCacheIoFinished(int num_callbacks) {
// Quits the message loop when all callbacks are called or we've been waiting
// too long for them (2 secs without a callback).
void MessageLoopHelper::TimerExpired() {
- if (g_cache_tests_received > num_callbacks_) {
- NOTREACHED();
- } else if (g_cache_tests_received == num_callbacks_) {
+ CHECK_LE(g_cache_tests_received, num_callbacks_);
+ if (g_cache_tests_received == num_callbacks_) {
completed_ = true;
MessageLoop::current()->Quit();
} else {