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

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: 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
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 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 BrowserDistribution* chrome = 119 BrowserDistribution* chrome =
120 BrowserDistribution::GetSpecificDistribution( 120 BrowserDistribution::GetSpecificDistribution(
121 BrowserDistribution::CHROME_BROWSER); 121 BrowserDistribution::CHROME_BROWSER);
122 #if defined(GOOGLE_CHROME_BUILD) 122 #if defined(GOOGLE_CHROME_BUILD)
123 EXPECT_TRUE(chrome->ShouldSetExperimentLabels()); 123 EXPECT_TRUE(chrome->ShouldSetExperimentLabels());
124 124
125 EXPECT_TRUE(GoogleUpdateSettings::SetExperimentLabels( 125 EXPECT_TRUE(GoogleUpdateSettings::SetExperimentLabels(
126 install == SYSTEM_INSTALL, kTestExperimentLabel)); 126 install == SYSTEM_INSTALL, kTestExperimentLabel));
127 127
128 // Validate that something is written. Only worry about the label itself. 128 // Validate that something is written. Only worry about the label itself.
129 RegKey key;
130 std::wstring value; 129 std::wstring value;
131 HKEY root = install == SYSTEM_INSTALL ? 130 EXPECT_TRUE(GoogleUpdateSettings::ReadExperimentLabels(
grt (UTC plus 2) 2013/01/09 18:49:51 this tests that Set/Read round-trips properly, but
SteveT 2013/01/09 19:36:10 Makes sense, assuming we trust the validation code
132 HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER; 131 install == SYSTEM_INSTALL, &value));
133 string16 state_key = install == SYSTEM_INSTALL ?
134 chrome->GetStateMediumKey() : chrome->GetStateKey();
135
136 EXPECT_EQ(ERROR_SUCCESS,
137 key.Open(root, state_key.c_str(), KEY_QUERY_VALUE));
138 EXPECT_EQ(ERROR_SUCCESS,
139 key.ReadValue(google_update::kExperimentLabels, &value));
140 EXPECT_EQ(kTestExperimentLabel, value); 132 EXPECT_EQ(kTestExperimentLabel, value);
141 key.Close();
142 133
143 // Now that the label is set, test the delete functionality. An empty label 134 // Now that the label is set, test the delete functionality. An empty label
144 // should result in deleting the value. 135 // should result in deleting the value.
145 EXPECT_TRUE(GoogleUpdateSettings::SetExperimentLabels( 136 EXPECT_TRUE(GoogleUpdateSettings::SetExperimentLabels(
146 install == SYSTEM_INSTALL, string16())); 137 install == SYSTEM_INSTALL, string16()));
147 EXPECT_EQ(ERROR_SUCCESS, 138 EXPECT_FALSE(GoogleUpdateSettings::ReadExperimentLabels(
148 key.Open(root, state_key.c_str(), KEY_QUERY_VALUE)); 139 install == SYSTEM_INSTALL, &value));
149 EXPECT_EQ(ERROR_FILE_NOT_FOUND,
150 key.ReadValue(google_update::kExperimentLabels, &value));
151 key.Close();
152 #else 140 #else
153 EXPECT_FALSE(chrome->ShouldSetExperimentLabels()); 141 EXPECT_FALSE(chrome->ShouldSetExperimentLabels());
grt (UTC plus 2) 2013/01/09 18:49:51 add an expectation that ReadExperimentLables retur
SteveT 2013/01/09 19:36:10 Done.
154 #endif // GOOGLE_CHROME_BUILD 142 #endif // GOOGLE_CHROME_BUILD
155 } 143 }
156 144
157 // Creates "ap" key with the value given as parameter. Also adds work 145 // 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. 146 // 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) { 147 bool CreateApKey(WorkItemList* work_item_list, const std::wstring& value) {
160 HKEY reg_root = HKEY_CURRENT_USER; 148 HKEY reg_root = HKEY_CURRENT_USER;
161 std::wstring reg_key = GetApKeyPath(); 149 std::wstring reg_key = GetApKeyPath();
162 work_item_list->AddCreateRegKeyWorkItem(reg_root, reg_key); 150 work_item_list->AddCreateRegKeyWorkItem(reg_root, reg_key);
163 work_item_list->AddSetRegValueWorkItem(reg_root, reg_key, 151 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, 969 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
982 StatsState::FALSE_SETTING, StatsState::FALSE_SETTING), 970 StatsState::FALSE_SETTING, StatsState::FALSE_SETTING),
983 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 971 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
984 StatsState::FALSE_SETTING, StatsState::TRUE_SETTING), 972 StatsState::FALSE_SETTING, StatsState::TRUE_SETTING),
985 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 973 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
986 StatsState::TRUE_SETTING, StatsState::NO_SETTING), 974 StatsState::TRUE_SETTING, StatsState::NO_SETTING),
987 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 975 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
988 StatsState::TRUE_SETTING, StatsState::FALSE_SETTING), 976 StatsState::TRUE_SETTING, StatsState::FALSE_SETTING),
989 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 977 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
990 StatsState::TRUE_SETTING, StatsState::TRUE_SETTING))); 978 StatsState::TRUE_SETTING, StatsState::TRUE_SETTING)));
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698