From 7e48c1b63b85d5a02b3a6a99c318de80fa9d2fe2 Mon Sep 17 00:00:00 2001 From: "clamy@chromium.org" Date: Fri, 12 Jul 2013 12:15:43 +0000 Subject: Simple Cache: wait for index in tests This CL makes the initialization of the backend tests wait for the index to be ready. This wait can also be explicitely disabled in tests that check stability of functionalities when the index is not ready. BUG= Review URL: https://chromiumcodereview.appspot.com/18429009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211381 0039d316-1c4b-4281-b951-d872f2087c98 --- net/disk_cache/disk_cache_test_base.cc | 8 ++++++++ net/disk_cache/disk_cache_test_base.h | 5 +++++ net/disk_cache/entry_unittest.cc | 1 + 3 files changed, 14 insertions(+) (limited to 'net') diff --git a/net/disk_cache/disk_cache_test_base.cc b/net/disk_cache/disk_cache_test_base.cc index 5ab7147..219a213 100644 --- a/net/disk_cache/disk_cache_test_base.cc +++ b/net/disk_cache/disk_cache_test_base.cc @@ -16,6 +16,7 @@ #include "net/disk_cache/disk_cache_test_util.h" #include "net/disk_cache/mem_backend_impl.h" #include "net/disk_cache/simple/simple_backend_impl.h" +#include "net/disk_cache/simple/simple_index.h" DiskCacheTest::DiskCacheTest() { CHECK(temp_dir_.CreateUniqueTempDir()); @@ -58,6 +59,7 @@ DiskCacheTestWithCache::DiskCacheTestWithCache() type_(net::DISK_CACHE), memory_only_(false), simple_cache_mode_(false), + simple_cache_wait_for_index_(true), force_creation_(false), new_eviction_(false), first_cleanup_(true), @@ -278,6 +280,12 @@ void DiskCacheTestWithCache::CreateBackend(uint32 flags, base::Thread* thread) { int rv = simple_backend->Init(cb.callback()); ASSERT_EQ(net::OK, cb.GetResult(rv)); cache_ = simple_cache_impl_ = simple_backend; + if (simple_cache_wait_for_index_) { + net::TestCompletionCallback wait_for_index_cb; + rv = simple_backend->index()->ExecuteWhenReady( + wait_for_index_cb.callback()); + ASSERT_EQ(net::OK, wait_for_index_cb.GetResult(rv)); + } return; } diff --git a/net/disk_cache/disk_cache_test_base.h b/net/disk_cache/disk_cache_test_base.h index 69e0920..0378573 100644 --- a/net/disk_cache/disk_cache_test_base.h +++ b/net/disk_cache/disk_cache_test_base.h @@ -89,6 +89,10 @@ class DiskCacheTestWithCache : public DiskCacheTest { new_eviction_ = true; } + void DisableSimpleCacheWaitForIndex() { + simple_cache_wait_for_index_ = false; + } + void DisableFirstCleanup() { first_cleanup_ = false; } @@ -152,6 +156,7 @@ class DiskCacheTestWithCache : public DiskCacheTest { net::CacheType type_; bool memory_only_; bool simple_cache_mode_; + bool simple_cache_wait_for_index_; bool force_creation_; bool new_eviction_; bool first_cleanup_; diff --git a/net/disk_cache/entry_unittest.cc b/net/disk_cache/entry_unittest.cc index 2261773..9bccd2e 100644 --- a/net/disk_cache/entry_unittest.cc +++ b/net/disk_cache/entry_unittest.cc @@ -3117,6 +3117,7 @@ TEST_F(DiskCacheEntryTest, SimpleCacheInFlightRead) { TEST_F(DiskCacheEntryTest, SimpleCacheOpenCreateRaceWithNoIndex) { SetSimpleCacheMode(); + DisableSimpleCacheWaitForIndex(); DisableIntegrityCheck(); InitCache(); -- cgit v1.1