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

Side by Side Diff: net/disk_cache/simple/simple_experiment_unittest.cc

Issue 2918893002: evict larger entries first (Closed)
Patch Set: -SortHelper Created 3 years, 5 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 unified diff | Download patch
« no previous file with comments | « net/disk_cache/simple/simple_experiment.cc ('k') | net/disk_cache/simple/simple_index.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/disk_cache/simple/simple_experiment.h" 5 #include "net/disk_cache/simple/simple_experiment.h"
6 6
7 #include <map> 7 #include <map>
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 kTrialName, kGroupName, params); 42 kTrialName, kGroupName, params);
43 } 43 }
44 44
45 std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList); 45 std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList);
46 feature_list->RegisterFieldTrialOverride( 46 feature_list->RegisterFieldTrialOverride(
47 kSimpleSizeExperiment.name, base::FeatureList::OVERRIDE_ENABLE_FEATURE, 47 kSimpleSizeExperiment.name, base::FeatureList::OVERRIDE_ENABLE_FEATURE,
48 trial.get()); 48 trial.get());
49 scoped_feature_list_.InitWithFeatureList(std::move(feature_list)); 49 scoped_feature_list_.InitWithFeatureList(std::move(feature_list));
50 } 50 }
51 51
52 void ConfigureEvictWithSizeTrial(bool enabled,
53 base::Optional<uint32_t> param) {
54 const std::string kTrialName = "EvictWithSizeTrial";
55 const std::string kGroupName = "GroupFoo"; // Value not used
56
57 scoped_refptr<base::FieldTrial> trial =
58 base::FieldTrialList::CreateFieldTrial(kTrialName, kGroupName);
59
60 if (param) {
61 std::map<std::string, std::string> params;
62 params[kSizeEvictionParam] = base::UintToString(param.value());
63 base::FieldTrialParamAssociator::GetInstance()->AssociateFieldTrialParams(
64 kTrialName, kGroupName, params);
65 }
66
67 std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList);
68 feature_list->RegisterFieldTrialOverride(
69 kSimpleCacheEvictionWithSizeExperiment.name,
70 base::FeatureList::OVERRIDE_ENABLE_FEATURE, trial.get());
71 scoped_feature_list_.InitWithFeatureList(std::move(feature_list));
72 }
73
52 std::unique_ptr<base::FieldTrialList> field_trial_list_; 74 std::unique_ptr<base::FieldTrialList> field_trial_list_;
53 base::test::ScopedFeatureList scoped_feature_list_; 75 base::test::ScopedFeatureList scoped_feature_list_;
54 }; 76 };
55 77
56 TEST_F(SimpleExperimentTest, NoExperiment) { 78 TEST_F(SimpleExperimentTest, NoExperiment) {
57 SimpleExperiment experiment = GetSimpleExperiment(net::DISK_CACHE); 79 SimpleExperiment experiment = GetSimpleExperiment(net::DISK_CACHE);
58 EXPECT_EQ(SimpleExperimentType::NONE, experiment.type); 80 EXPECT_EQ(SimpleExperimentType::NONE, experiment.type);
59 EXPECT_EQ(0u, experiment.param); 81 EXPECT_EQ(0u, experiment.param);
60 } 82 }
61 83
(...skipping 19 matching lines...) Expand all
81 TEST_F(SimpleExperimentTest, SizeTrialProperlyConfiguredWrongCacheType) { 103 TEST_F(SimpleExperimentTest, SizeTrialProperlyConfiguredWrongCacheType) {
82 const uint32_t kParam = 125u; 104 const uint32_t kParam = 125u;
83 base::test::ScopedFeatureList scoped_feature_list; 105 base::test::ScopedFeatureList scoped_feature_list;
84 ConfigureSizeFieldTrial(true, base::Optional<uint32_t>(kParam)); 106 ConfigureSizeFieldTrial(true, base::Optional<uint32_t>(kParam));
85 107
86 SimpleExperiment experiment = GetSimpleExperiment(net::APP_CACHE); 108 SimpleExperiment experiment = GetSimpleExperiment(net::APP_CACHE);
87 EXPECT_EQ(SimpleExperimentType::NONE, experiment.type); 109 EXPECT_EQ(SimpleExperimentType::NONE, experiment.type);
88 EXPECT_EQ(0u, experiment.param); 110 EXPECT_EQ(0u, experiment.param);
89 } 111 }
90 112
113 TEST_F(SimpleExperimentTest, EvictWithSizeMissingParam) {
114 base::test::ScopedFeatureList scoped_feature_list;
115 ConfigureEvictWithSizeTrial(true, base::Optional<uint32_t>());
116
117 SimpleExperiment experiment = GetSimpleExperiment(net::DISK_CACHE);
118 EXPECT_EQ(SimpleExperimentType::NONE, experiment.type);
119 EXPECT_EQ(0u, experiment.param);
120 }
121
122 TEST_F(SimpleExperimentTest, EvictWithSizeProperlyConfigured) {
123 const uint32_t kParam = 1u;
124 base::test::ScopedFeatureList scoped_feature_list;
125 ConfigureEvictWithSizeTrial(true, base::Optional<uint32_t>(kParam));
126
127 SimpleExperiment experiment = GetSimpleExperiment(net::DISK_CACHE);
128 EXPECT_EQ(SimpleExperimentType::EVICT_WITH_SIZE, experiment.type);
129 EXPECT_EQ(kParam, experiment.param);
130 }
131
132 TEST_F(SimpleExperimentTest, EvictWithSizeProperlyConfiguredWrongCacheType) {
133 const uint32_t kParam = 125u;
134 base::test::ScopedFeatureList scoped_feature_list;
135 ConfigureEvictWithSizeTrial(true, base::Optional<uint32_t>(kParam));
136
137 SimpleExperiment experiment = GetSimpleExperiment(net::APP_CACHE);
138 EXPECT_EQ(SimpleExperimentType::NONE, experiment.type);
139 EXPECT_EQ(0u, experiment.param);
140 }
141
91 } // namespace disk_cache 142 } // namespace disk_cache
OLDNEW
« no previous file with comments | « net/disk_cache/simple/simple_experiment.cc ('k') | net/disk_cache/simple/simple_index.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698