diff options
author | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-29 18:58:37 +0000 |
---|---|---|
committer | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-29 18:58:37 +0000 |
commit | 05f8087de3f9aecb476983fe2db85fd19e48650e (patch) | |
tree | 7558839b846774c4f9b7248e7ad0ecb31726c898 /net/disk_cache | |
parent | d53e403f3380ffa77b87114fa803a7f533d4abdd (diff) | |
download | chromium_src-05f8087de3f9aecb476983fe2db85fd19e48650e.zip chromium_src-05f8087de3f9aecb476983fe2db85fd19e48650e.tar.gz chromium_src-05f8087de3f9aecb476983fe2db85fd19e48650e.tar.bz2 |
Disk cache: Wait until time actually moves forward, to
avoid a possible issue with the high resolution timer
going back due to clock skew.
BUG=133052
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10684007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144944 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/disk_cache')
-rw-r--r-- | net/disk_cache/backend_unittest.cc | 14 | ||||
-rw-r--r-- | net/disk_cache/disk_cache_test_base.cc | 9 | ||||
-rw-r--r-- | net/disk_cache/disk_cache_test_base.h | 6 | ||||
-rw-r--r-- | net/disk_cache/entry_unittest.cc | 8 |
4 files changed, 22 insertions, 15 deletions
diff --git a/net/disk_cache/backend_unittest.cc b/net/disk_cache/backend_unittest.cc index fd62ca3..78a5777 100644 --- a/net/disk_cache/backend_unittest.cc +++ b/net/disk_cache/backend_unittest.cc @@ -28,8 +28,6 @@ using base::Time; -static const int kDiskDelayMs = 20; - // Tests that can run with different types of caches. class DiskCacheBackendTest : public DiskCacheTestWithCache { protected: @@ -1047,7 +1045,7 @@ void DiskCacheBackendTest::BackendEnumerations2() { FlushQueueForTest(); // Make sure that the timestamp is not the same. - base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(kDiskDelayMs)); + AddDelay(); ASSERT_EQ(net::OK, OpenEntry(second, &entry1)); void* iter = NULL; ASSERT_EQ(net::OK, OpenNextEntry(&iter, &entry2)); @@ -1223,7 +1221,7 @@ void DiskCacheBackendTest::BackendDoomRecent() { entry->Close(); FlushQueueForTest(); - base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(kDiskDelayMs)); + AddDelay(); Time middle = Time::Now(); ASSERT_EQ(net::OK, CreateEntry("third", &entry)); @@ -1232,7 +1230,7 @@ void DiskCacheBackendTest::BackendDoomRecent() { entry->Close(); FlushQueueForTest(); - base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(kDiskDelayMs)); + AddDelay(); Time final = Time::Now(); ASSERT_EQ(4, cache_->GetEntryCount()); @@ -1268,7 +1266,7 @@ void DiskCacheBackendTest::BackendDoomBetween() { entry->Close(); FlushQueueForTest(); - base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(kDiskDelayMs)); + AddDelay(); Time middle_start = Time::Now(); ASSERT_EQ(net::OK, CreateEntry("second", &entry)); @@ -1277,7 +1275,7 @@ void DiskCacheBackendTest::BackendDoomBetween() { entry->Close(); FlushQueueForTest(); - base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(kDiskDelayMs)); + AddDelay(); Time middle_end = Time::Now(); ASSERT_EQ(net::OK, CreateEntry("fourth", &entry)); @@ -1286,7 +1284,7 @@ void DiskCacheBackendTest::BackendDoomBetween() { entry->Close(); FlushQueueForTest(); - base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(kDiskDelayMs)); + AddDelay(); Time final = Time::Now(); ASSERT_EQ(4, cache_->GetEntryCount()); diff --git a/net/disk_cache/disk_cache_test_base.cc b/net/disk_cache/disk_cache_test_base.cc index a2bf2a2..5ed2f90 100644 --- a/net/disk_cache/disk_cache_test_base.cc +++ b/net/disk_cache/disk_cache_test_base.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. @@ -213,6 +213,13 @@ void DiskCacheTestWithCache::TrimDeletedListForTest(bool empty) { empty)); } +void DiskCacheTestWithCache::AddDelay() { + base::Time initial = base::Time::Now(); + while (base::Time::Now() <= initial) { + base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(1)); + }; +} + void DiskCacheTestWithCache::TearDown() { MessageLoop::current()->RunAllPending(); delete cache_; diff --git a/net/disk_cache/disk_cache_test_base.h b/net/disk_cache/disk_cache_test_base.h index ed3d8bd..1d621d3 100644 --- a/net/disk_cache/disk_cache_test_base.h +++ b/net/disk_cache/disk_cache_test_base.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. @@ -130,6 +130,10 @@ class DiskCacheTestWithCache : public DiskCacheTest { // true, the whole list is deleted. void TrimDeletedListForTest(bool empty); + // Makes sure that some time passes before continuing the test. Time::Now() + // before and after this method will not be the same. + void AddDelay(); + // DiskCacheTest: virtual void TearDown() OVERRIDE; diff --git a/net/disk_cache/entry_unittest.cc b/net/disk_cache/entry_unittest.cc index 1094f06..fd9cff7 100644 --- a/net/disk_cache/entry_unittest.cc +++ b/net/disk_cache/entry_unittest.cc @@ -22,8 +22,6 @@ using base::Time; -static const int kDiskDelayMs = 20; - // Tests that can run with different types of caches. class DiskCacheEntryTest : public DiskCacheTestWithCache { public: @@ -655,7 +653,7 @@ void DiskCacheEntryTest::GetTimes() { EXPECT_TRUE(entry->GetLastModified() >= t1); EXPECT_TRUE(entry->GetLastModified() == entry->GetLastUsed()); - base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(kDiskDelayMs)); + AddDelay(); Time t2 = Time::Now(); EXPECT_TRUE(t2 > t1); EXPECT_EQ(0, WriteData(entry, 0, 200, NULL, 0, false)); @@ -666,7 +664,7 @@ void DiskCacheEntryTest::GetTimes() { } EXPECT_TRUE(entry->GetLastModified() == entry->GetLastUsed()); - base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(kDiskDelayMs)); + AddDelay(); Time t3 = Time::Now(); EXPECT_TRUE(t3 > t2); const int kSize = 200; @@ -1308,7 +1306,7 @@ void DiskCacheEntryTest::DoomedEntry() { FlushQueueForTest(); EXPECT_EQ(0, cache_->GetEntryCount()); Time initial = Time::Now(); - base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(kDiskDelayMs)); + AddDelay(); const int kSize1 = 2000; const int kSize2 = 2000; |