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

Side by Side Diff: chrome/installer/util/google_update_settings_unittest.cc

Issue 11826028: Add a method to read the Omaha experiment_labels value. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: fix value Created 7 years, 11 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 | « chrome/installer/util/google_update_settings.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <windows.h> 5 #include <windows.h>
6 #include <shlwapi.h> // For SHDeleteKey. 6 #include <shlwapi.h> // For SHDeleteKey.
7 7
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/test/test_reg_util_win.h" 9 #include "base/test/test_reg_util_win.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 } 112 }
113 } 113 }
114 } 114 }
115 115
116 // Test the writing and deleting functionality of the experiments label 116 // Test the writing and deleting functionality of the experiments label
117 // helper. 117 // helper.
118 void TestExperimentsLabelHelper(SystemUserInstall install) { 118 void TestExperimentsLabelHelper(SystemUserInstall install) {
119 BrowserDistribution* chrome = 119 BrowserDistribution* chrome =
120 BrowserDistribution::GetSpecificDistribution( 120 BrowserDistribution::GetSpecificDistribution(
121 BrowserDistribution::CHROME_BROWSER); 121 BrowserDistribution::CHROME_BROWSER);
122 std::wstring value;
122 #if defined(GOOGLE_CHROME_BUILD) 123 #if defined(GOOGLE_CHROME_BUILD)
123 EXPECT_TRUE(chrome->ShouldSetExperimentLabels()); 124 EXPECT_TRUE(chrome->ShouldSetExperimentLabels());
124 125
125 EXPECT_TRUE(GoogleUpdateSettings::SetExperimentLabels( 126 EXPECT_TRUE(GoogleUpdateSettings::SetExperimentLabels(
126 install == SYSTEM_INSTALL, kTestExperimentLabel)); 127 install == SYSTEM_INSTALL, kTestExperimentLabel));
127 128
128 // Validate that something is written. Only worry about the label itself. 129 // Validate that something is written. Only worry about the label itself.
129 RegKey key; 130 RegKey key;
130 std::wstring value;
131 HKEY root = install == SYSTEM_INSTALL ? 131 HKEY root = install == SYSTEM_INSTALL ?
132 HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER; 132 HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
133 string16 state_key = install == SYSTEM_INSTALL ? 133 string16 state_key = install == SYSTEM_INSTALL ?
134 chrome->GetStateMediumKey() : chrome->GetStateKey(); 134 chrome->GetStateMediumKey() : chrome->GetStateKey();
135 135
136 EXPECT_EQ(ERROR_SUCCESS, 136 EXPECT_EQ(ERROR_SUCCESS,
137 key.Open(root, state_key.c_str(), KEY_QUERY_VALUE)); 137 key.Open(root, state_key.c_str(), KEY_QUERY_VALUE));
138 EXPECT_EQ(ERROR_SUCCESS, 138 EXPECT_EQ(ERROR_SUCCESS,
139 key.ReadValue(google_update::kExperimentLabels, &value)); 139 key.ReadValue(google_update::kExperimentLabels, &value));
140 EXPECT_EQ(kTestExperimentLabel, value); 140 EXPECT_EQ(kTestExperimentLabel, value);
141 EXPECT_TRUE(GoogleUpdateSettings::ReadExperimentLabels(
142 install == SYSTEM_INSTALL, &value));
143 EXPECT_EQ(kTestExperimentLabel, value);
141 key.Close(); 144 key.Close();
142 145
143 // Now that the label is set, test the delete functionality. An empty label 146 // Now that the label is set, test the delete functionality. An empty label
144 // should result in deleting the value. 147 // should result in deleting the value.
145 EXPECT_TRUE(GoogleUpdateSettings::SetExperimentLabels( 148 EXPECT_TRUE(GoogleUpdateSettings::SetExperimentLabels(
146 install == SYSTEM_INSTALL, string16())); 149 install == SYSTEM_INSTALL, string16()));
147 EXPECT_EQ(ERROR_SUCCESS, 150 EXPECT_EQ(ERROR_SUCCESS,
148 key.Open(root, state_key.c_str(), KEY_QUERY_VALUE)); 151 key.Open(root, state_key.c_str(), KEY_QUERY_VALUE));
149 EXPECT_EQ(ERROR_FILE_NOT_FOUND, 152 EXPECT_EQ(ERROR_FILE_NOT_FOUND,
150 key.ReadValue(google_update::kExperimentLabels, &value)); 153 key.ReadValue(google_update::kExperimentLabels, &value));
154 EXPECT_FALSE(GoogleUpdateSettings::ReadExperimentLabels(
155 install == SYSTEM_INSTALL, &value));
151 key.Close(); 156 key.Close();
152 #else 157 #else
153 EXPECT_FALSE(chrome->ShouldSetExperimentLabels()); 158 EXPECT_FALSE(chrome->ShouldSetExperimentLabels());
159 EXPECT_FALSE(GoogleUpdateSettings::ReadExperimentLabels(
160 install == SYSTEM_INSTALL, &value));
154 #endif // GOOGLE_CHROME_BUILD 161 #endif // GOOGLE_CHROME_BUILD
155 } 162 }
156 163
157 // Creates "ap" key with the value given as parameter. Also adds work 164 // Creates "ap" key with the value given as parameter. Also adds work
158 // items to work_item_list given so that they can be rolled back later. 165 // items to work_item_list given so that they can be rolled back later.
159 bool CreateApKey(WorkItemList* work_item_list, const std::wstring& value) { 166 bool CreateApKey(WorkItemList* work_item_list, const std::wstring& value) {
160 HKEY reg_root = HKEY_CURRENT_USER; 167 HKEY reg_root = HKEY_CURRENT_USER;
161 std::wstring reg_key = GetApKeyPath(); 168 std::wstring reg_key = GetApKeyPath();
162 work_item_list->AddCreateRegKeyWorkItem(reg_root, reg_key); 169 work_item_list->AddCreateRegKeyWorkItem(reg_root, reg_key);
163 work_item_list->AddSetRegValueWorkItem(reg_root, reg_key, 170 work_item_list->AddSetRegValueWorkItem(reg_root, reg_key,
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after
981 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 988 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
982 StatsState::FALSE_SETTING, StatsState::FALSE_SETTING), 989 StatsState::FALSE_SETTING, StatsState::FALSE_SETTING),
983 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 990 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
984 StatsState::FALSE_SETTING, StatsState::TRUE_SETTING), 991 StatsState::FALSE_SETTING, StatsState::TRUE_SETTING),
985 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 992 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
986 StatsState::TRUE_SETTING, StatsState::NO_SETTING), 993 StatsState::TRUE_SETTING, StatsState::NO_SETTING),
987 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 994 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
988 StatsState::TRUE_SETTING, StatsState::FALSE_SETTING), 995 StatsState::TRUE_SETTING, StatsState::FALSE_SETTING),
989 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 996 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
990 StatsState::TRUE_SETTING, StatsState::TRUE_SETTING))); 997 StatsState::TRUE_SETTING, StatsState::TRUE_SETTING)));
OLDNEW
« no previous file with comments | « chrome/installer/util/google_update_settings.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698