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

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

Issue 1513043002: clang/win: Let remaining chromium_code targets build with -Wextra. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <shlobj.h> 6 #include <shlobj.h>
7 7
8 #include "base/files/file_util.h" 8 #include "base/files/file_util.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 const wchar_t* test_name; 104 const wchar_t* test_name;
105 const wchar_t* str; 105 const wchar_t* str;
106 DWORD length; 106 DWORD length;
107 size_t count; 107 size_t count;
108 } tests[] = { 108 } tests[] = {
109 { L"basic", L"foo\0bar\0fee\0bee\0boo\0bong\0\0", 26 * sizeof(wchar_t), 3 }, 109 { L"basic", L"foo\0bar\0fee\0bee\0boo\0bong\0\0", 26 * sizeof(wchar_t), 3 },
110 { L"empty", L"\0\0", 2 * sizeof(wchar_t), 1 }, 110 { L"empty", L"\0\0", 2 * sizeof(wchar_t), 1 },
111 { L"deletes", L"foo\0\0bar\0\0bizz\0\0", 16 * sizeof(wchar_t), 3 }, 111 { L"deletes", L"foo\0\0bar\0\0bizz\0\0", 16 * sizeof(wchar_t), 3 },
112 }; 112 };
113 113
114 for (int i = 0; i < arraysize(tests); i++) { 114 for (size_t i = 0; i < arraysize(tests); i++) {
115 std::vector<PendingMove> string_list; 115 std::vector<PendingMove> string_list;
116 EXPECT_TRUE(SUCCEEDED( 116 EXPECT_TRUE(SUCCEEDED(
117 MultiSZBytesToStringArray(reinterpret_cast<const char*>(tests[i].str), 117 MultiSZBytesToStringArray(reinterpret_cast<const char*>(tests[i].str),
118 tests[i].length, 118 tests[i].length,
119 &string_list))) 119 &string_list)))
120 << tests[i].test_name; 120 << tests[i].test_name;
121 EXPECT_EQ(tests[i].count, string_list.size()) << tests[i].test_name; 121 EXPECT_EQ(tests[i].count, string_list.size()) << tests[i].test_name;
122 std::vector<char> buffer; 122 std::vector<char> buffer;
123 buffer.resize(WStringPairListSize(string_list)); 123 buffer.resize(WStringPairListSize(string_list));
124 StringArrayToMultiSZBytes(string_list, &buffer); 124 StringArrayToMultiSZBytes(string_list, &buffer);
125 EXPECT_TRUE(CompareBuffers(const_cast<const char*>(&buffer[0]), 125 EXPECT_TRUE(CompareBuffers(const_cast<const char*>(&buffer[0]),
126 reinterpret_cast<const char*>(tests[i].str), 126 reinterpret_cast<const char*>(tests[i].str),
127 tests[i].length)) 127 tests[i].length))
128 << tests[i].test_name; 128 << tests[i].test_name;
129 } 129 }
130 130
131 StringTest failures[] = { 131 StringTest failures[] = {
132 {L"malformed", reinterpret_cast<const wchar_t*>("oddnumb\0\0"), 9, 1}, 132 {L"malformed", reinterpret_cast<const wchar_t*>("oddnumb\0\0"), 9, 1},
133 }; 133 };
134 134
135 for (int i = 0; i < arraysize(failures); i++) { 135 for (size_t i = 0; i < arraysize(failures); i++) {
136 std::vector<PendingMove> string_list; 136 std::vector<PendingMove> string_list;
137 EXPECT_FALSE(SUCCEEDED(MultiSZBytesToStringArray( 137 EXPECT_FALSE(SUCCEEDED(MultiSZBytesToStringArray(
138 reinterpret_cast<const char*>(failures[i].str), 138 reinterpret_cast<const char*>(failures[i].str),
139 failures[i].length, 139 failures[i].length,
140 &string_list))) 140 &string_list)))
141 << failures[i].test_name; 141 << failures[i].test_name;
142 } 142 }
143 } 143 }
144 144
145 145
(...skipping 18 matching lines...) Expand all
164 std::vector<PendingMove>::const_iterator iter(pending_moves.begin()); 164 std::vector<PendingMove>::const_iterator iter(pending_moves.begin());
165 for (; iter != pending_moves.end(); iter++) { 165 for (; iter != pending_moves.end(); iter++) {
166 base::FilePath move_path(iter->first); 166 base::FilePath move_path(iter->first);
167 if (MatchPendingDeletePath(short_temp_file, move_path)) 167 if (MatchPendingDeletePath(short_temp_file, move_path))
168 break; 168 break;
169 } 169 }
170 170
171 // Check that each of the deletes we expect are there in order. 171 // Check that each of the deletes we expect are there in order.
172 base::FilePath expected_paths[] = 172 base::FilePath expected_paths[] =
173 { temp_file_, temp_subdir_file_, temp_subdir_, temp_dir_ }; 173 { temp_file_, temp_subdir_file_, temp_subdir_, temp_dir_ };
174 for (int i = 0; i < arraysize(expected_paths); ++i) { 174 for (size_t i = 0; i < arraysize(expected_paths); ++i) {
175 EXPECT_FALSE(iter == pending_moves.end()); 175 EXPECT_FALSE(iter == pending_moves.end());
176 if (iter != pending_moves.end()) { 176 if (iter != pending_moves.end()) {
177 base::FilePath short_path_name(GetShortPathName(expected_paths[i])); 177 base::FilePath short_path_name(GetShortPathName(expected_paths[i]));
178 base::FilePath move_path(iter->first); 178 base::FilePath move_path(iter->first);
179 EXPECT_TRUE(MatchPendingDeletePath(short_path_name, move_path)); 179 EXPECT_TRUE(MatchPendingDeletePath(short_path_name, move_path));
180 ++iter; 180 ++iter;
181 } 181 }
182 } 182 }
183 183
184 // Test that we can remove the pending deletes. 184 // Test that we can remove the pending deletes.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 std::vector<PendingMove>::const_iterator iter(pending_moves.begin()); 218 std::vector<PendingMove>::const_iterator iter(pending_moves.begin());
219 for (; iter != pending_moves.end(); iter++) { 219 for (; iter != pending_moves.end(); iter++) {
220 base::FilePath move_path(iter->first); 220 base::FilePath move_path(iter->first);
221 if (MatchPendingDeletePath(short_temp_file, move_path)) 221 if (MatchPendingDeletePath(short_temp_file, move_path))
222 break; 222 break;
223 } 223 }
224 224
225 // Check that each of the deletes we expect are there in order. 225 // Check that each of the deletes we expect are there in order.
226 base::FilePath expected_paths[] = 226 base::FilePath expected_paths[] =
227 { temp_file_, temp_subdir_file_, temp_subdir_, temp_dir_ }; 227 { temp_file_, temp_subdir_file_, temp_subdir_, temp_dir_ };
228 for (int i = 0; i < arraysize(expected_paths); ++i) { 228 for (size_t i = 0; i < arraysize(expected_paths); ++i) {
229 EXPECT_FALSE(iter == pending_moves.end()); 229 EXPECT_FALSE(iter == pending_moves.end());
230 if (iter != pending_moves.end()) { 230 if (iter != pending_moves.end()) {
231 base::FilePath short_path_name(GetShortPathName(expected_paths[i])); 231 base::FilePath short_path_name(GetShortPathName(expected_paths[i]));
232 base::FilePath move_path(iter->first); 232 base::FilePath move_path(iter->first);
233 EXPECT_TRUE(MatchPendingDeletePath(short_path_name, move_path)); 233 EXPECT_TRUE(MatchPendingDeletePath(short_path_name, move_path));
234 ++iter; 234 ++iter;
235 } 235 }
236 } 236 }
237 237
238 // Delete the temporary directory. 238 // Delete the temporary directory.
239 base::DeleteFile(temp_dir_, true); 239 base::DeleteFile(temp_dir_, true);
240 240
241 // Test that we can remove the pending deletes. 241 // Test that we can remove the pending deletes.
242 EXPECT_TRUE(RemoveFromMovesPendingReboot(temp_dir_)); 242 EXPECT_TRUE(RemoveFromMovesPendingReboot(temp_dir_));
243 HRESULT hr = GetPendingMovesValue(&pending_moves); 243 HRESULT hr = GetPendingMovesValue(&pending_moves);
244 EXPECT_TRUE(hr == S_OK || hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)); 244 EXPECT_TRUE(hr == S_OK || hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND));
245 245
246 EXPECT_EQ(initial_pending_moves_size, pending_moves.size()); 246 EXPECT_EQ(initial_pending_moves_size, pending_moves.size());
247 247
248 std::vector<PendingMove>::const_iterator check_iter(pending_moves.begin()); 248 std::vector<PendingMove>::const_iterator check_iter(pending_moves.begin());
249 for (; check_iter != pending_moves.end(); ++check_iter) { 249 for (; check_iter != pending_moves.end(); ++check_iter) {
250 base::FilePath move_path(check_iter->first); 250 base::FilePath move_path(check_iter->first);
251 EXPECT_FALSE(MatchPendingDeletePath(short_temp_file, move_path)); 251 EXPECT_FALSE(MatchPendingDeletePath(short_temp_file, move_path));
252 } 252 }
253 } 253 }
254 254
OLDNEW
« no previous file with comments | « chrome/installer/gcapi/gcapi_reactivation_test.cc ('k') | chrome/installer/util/delete_reg_value_work_item_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698