Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1374)

Unified Diff: net/disk_cache/backend_unittest.cc

Issue 14129004: Add support for the control group in the Simple Cache Experiment. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: use experiments Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/disk_cache/backend_unittest.cc
diff --git a/net/disk_cache/backend_unittest.cc b/net/disk_cache/backend_unittest.cc
index 1dbdd56df102ef214386fe9a16c783434ceb9fa6..c3998e0461b8dfd7f51c329942346654dbc1e7bc 100644
--- a/net/disk_cache/backend_unittest.cc
+++ b/net/disk_cache/backend_unittest.cc
@@ -4,6 +4,7 @@
#include "base/basictypes.h"
#include "base/file_util.h"
+#include "base/metrics/field_trial.h"
#include "base/port.h"
#include "base/string_util.h"
#include "base/stringprintf.h"
@@ -32,6 +33,8 @@
using base::Time;
+namespace {
+
// Tests that can run with different types of caches.
class DiskCacheBackendTest : public DiskCacheTestWithCache {
protected:
@@ -1677,6 +1680,72 @@ TEST_F(DiskCacheTest, WrongVersion) {
delete cache;
}
+class BadEntropyProvider : public base::FieldTrial::EntropyProvider {
+ public:
+ virtual ~BadEntropyProvider() {}
+
+ virtual double GetEntropyForTrial(const std::string& trial_name,
+ uint32 randomization_seed) const OVERRIDE {
+ return 0.5;
+ }
+};
+
+TEST_F(DiskCacheTest, SimpleCacheControlJoin) {
+ ASSERT_TRUE(CopyTestCache("insert_empty1"));
+
+ base::FieldTrialList field_trial_list(new BadEntropyProvider());
+ base::FieldTrialList::FactoryGetFieldTrial("SimpleCacheTrial", 100,
+ "Control", 2013, 12, 31, NULL);
+
+ base::Thread cache_thread("CacheThread");
+ ASSERT_TRUE(cache_thread.StartWithOptions(
+ base::Thread::Options(MessageLoop::TYPE_IO, 0)));
+ net::TestCompletionCallback cb;
+
+ disk_cache::BackendImpl* cache = new disk_cache::BackendImpl(
+ cache_path_, cache_thread.message_loop_proxy(), NULL);
+ int rv = cache->Init(cb.callback());
+ ASSERT_EQ(net::ERR_FAILED, cb.GetResult(rv));
+
+ delete cache;
+}
+
+TEST_F(DiskCacheTest, SimpleCacheControlRestart) {
+ ASSERT_TRUE(CopyTestCache("simple_cache_control"));
+
+ base::FieldTrialList field_trial_list(new BadEntropyProvider());
+ base::FieldTrialList::FactoryGetFieldTrial("SimpleCacheTrial", 100,
+ "Control", 2013, 12, 31, NULL);
+
+ base::Thread cache_thread("CacheThread");
+ ASSERT_TRUE(cache_thread.StartWithOptions(
+ base::Thread::Options(MessageLoop::TYPE_IO, 0)));
+ net::TestCompletionCallback cb;
+
+ disk_cache::BackendImpl* cache = new disk_cache::BackendImpl(
+ cache_path_, cache_thread.message_loop_proxy(), NULL);
+ int rv = cache->Init(cb.callback());
+ ASSERT_EQ(net::OK, cb.GetResult(rv));
+
+ delete cache;
+}
+
+TEST_F(DiskCacheTest, SimpleCacheControlLeave) {
+ ASSERT_TRUE(CopyTestCache("simple_cache_control"));
pasko-google - do not use 2013/04/19 18:00:30 coud we create this file programmatically here? bi
gavinp 2013/04/20 07:17:32 Mooted, as Ricardo has asked for the removal of th
+
+ base::Thread cache_thread("CacheThread");
+ ASSERT_TRUE(cache_thread.StartWithOptions(
+ base::Thread::Options(MessageLoop::TYPE_IO, 0)));
+ net::TestCompletionCallback cb;
+
+ disk_cache::BackendImpl* cache = new disk_cache::BackendImpl(
+ cache_path_, cache_thread.message_loop_proxy(), NULL);
+ int rv = cache->Init(cb.callback());
+ ASSERT_EQ(net::OK, cb.GetResult(rv));
+
+ delete cache;
+}
+
rvargas (doing something else) 2013/04/19 17:40:55 I would actually prefer not adding these tests. I
gavinp 2013/04/20 07:17:32 Done.
// Tests that the cache is properly restarted on recovery error.
TEST_F(DiskCacheBackendTest, DeleteOld) {
ASSERT_TRUE(CopyTestCache("wrong_version"));
@@ -2797,6 +2866,8 @@ TEST_F(DiskCacheBackendTest, ShaderCacheUpdateRankForExternalCacheHit) {
entry->Close();
}
+} // namespace
rvargas (doing something else) 2013/04/19 17:40:55 I don't understand why you're placing half of the
gavinp 2013/04/20 07:17:32 Moot, now that I"m not adding tests.
+
void DiskCacheBackendTest::TracingBackendBasics() {
InitCache();
cache_ = new disk_cache::TracingCacheBackend(cache_);

Powered by Google App Engine
This is Rietveld 408576698