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

Side by Side Diff: cloud_print/virtual_driver/win/port_monitor/port_monitor_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) 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 "cloud_print/virtual_driver/win/port_monitor/port_monitor.h" 5 #include "cloud_print/virtual_driver/win/port_monitor/port_monitor.h"
6 6
7 #include <winspool.h> 7 #include <winspool.h>
8 8
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 TEST_F(PortMonitorTest, EnumPortsTest) { 136 TEST_F(PortMonitorTest, EnumPortsTest) {
137 DWORD needed_bytes = 0; 137 DWORD needed_bytes = 0;
138 DWORD returned = 0; 138 DWORD returned = 0;
139 EXPECT_FALSE(Monitor2EnumPorts(NULL, 139 EXPECT_FALSE(Monitor2EnumPorts(NULL,
140 NULL, 140 NULL,
141 1, 141 1,
142 NULL, 142 NULL,
143 0, 143 0,
144 &needed_bytes, 144 &needed_bytes,
145 &returned)); 145 &returned));
146 EXPECT_EQ(ERROR_INSUFFICIENT_BUFFER, GetLastError()); 146 EXPECT_EQ(static_cast<DWORD>(ERROR_INSUFFICIENT_BUFFER), GetLastError());
147 EXPECT_NE(0u, needed_bytes); 147 EXPECT_NE(0u, needed_bytes);
148 EXPECT_EQ(0u, returned); 148 EXPECT_EQ(0u, returned);
149 149
150 BYTE* buffer = new BYTE[needed_bytes]; 150 BYTE* buffer = new BYTE[needed_bytes];
151 ASSERT_TRUE(buffer != NULL); 151 ASSERT_TRUE(buffer != NULL);
152 EXPECT_TRUE(Monitor2EnumPorts(NULL, 152 EXPECT_TRUE(Monitor2EnumPorts(NULL,
153 NULL, 153 NULL,
154 1, 154 1,
155 buffer, 155 buffer,
156 needed_bytes, 156 needed_bytes,
157 &needed_bytes, 157 &needed_bytes,
158 &returned)); 158 &returned));
159 EXPECT_NE(0u, needed_bytes); 159 EXPECT_NE(0u, needed_bytes);
160 EXPECT_EQ(1u, returned); 160 EXPECT_EQ(1u, returned);
161 PORT_INFO_1* port_info_1 = reinterpret_cast<PORT_INFO_1*>(buffer); 161 PORT_INFO_1* port_info_1 = reinterpret_cast<PORT_INFO_1*>(buffer);
162 EXPECT_TRUE(port_info_1->pName != NULL); 162 EXPECT_TRUE(port_info_1->pName != NULL);
163 delete[] buffer; 163 delete[] buffer;
164 164
165 returned = 0; 165 returned = 0;
166 needed_bytes = 0; 166 needed_bytes = 0;
167 EXPECT_FALSE(Monitor2EnumPorts(NULL, 167 EXPECT_FALSE(Monitor2EnumPorts(NULL,
168 NULL, 168 NULL,
169 2, 169 2,
170 NULL, 170 NULL,
171 0, 171 0,
172 &needed_bytes, 172 &needed_bytes,
173 &returned)); 173 &returned));
174 EXPECT_EQ(ERROR_INSUFFICIENT_BUFFER, GetLastError()); 174 EXPECT_EQ(static_cast<DWORD>(ERROR_INSUFFICIENT_BUFFER), GetLastError());
175 EXPECT_NE(0u, needed_bytes); 175 EXPECT_NE(0u, needed_bytes);
176 EXPECT_EQ(0u, returned); 176 EXPECT_EQ(0u, returned);
177 177
178 buffer = new BYTE[needed_bytes]; 178 buffer = new BYTE[needed_bytes];
179 ASSERT_TRUE(buffer != NULL); 179 ASSERT_TRUE(buffer != NULL);
180 EXPECT_TRUE(Monitor2EnumPorts(NULL, 180 EXPECT_TRUE(Monitor2EnumPorts(NULL,
181 NULL, 181 NULL,
182 2, 182 2,
183 buffer, 183 buffer,
184 needed_bytes, 184 needed_bytes,
(...skipping 21 matching lines...) Expand all
206 MONITOR2* monitor2 = InitializePrintMonitor2(&monitor_init, &monitor_handle); 206 MONITOR2* monitor2 = InitializePrintMonitor2(&monitor_init, &monitor_handle);
207 EXPECT_TRUE(monitor2 != NULL); 207 EXPECT_TRUE(monitor2 != NULL);
208 EXPECT_TRUE(monitor_handle != NULL); 208 EXPECT_TRUE(monitor_handle != NULL);
209 209
210 // Test the XCV functions. Used for reporting the location of the 210 // Test the XCV functions. Used for reporting the location of the
211 // UI portion of the port monitor. 211 // UI portion of the port monitor.
212 EXPECT_TRUE(monitor2->pfnXcvOpenPort != NULL); 212 EXPECT_TRUE(monitor2->pfnXcvOpenPort != NULL);
213 EXPECT_TRUE(monitor2->pfnXcvOpenPort(monitor_handle, NULL, 0, &xcv_handle)); 213 EXPECT_TRUE(monitor2->pfnXcvOpenPort(monitor_handle, NULL, 0, &xcv_handle));
214 EXPECT_TRUE(xcv_handle != NULL); 214 EXPECT_TRUE(xcv_handle != NULL);
215 EXPECT_TRUE(monitor2->pfnXcvDataPort != NULL); 215 EXPECT_TRUE(monitor2->pfnXcvDataPort != NULL);
216 EXPECT_EQ(ERROR_ACCESS_DENIED, 216 EXPECT_EQ(static_cast<DWORD>(ERROR_ACCESS_DENIED),
217 monitor2->pfnXcvDataPort(xcv_handle, 217 monitor2->pfnXcvDataPort(xcv_handle, kXcvDataItem, NULL, 0, buffer,
218 kXcvDataItem, 218 kBufferSize, &bytes_needed));
219 NULL,
220 0,
221 buffer,
222 kBufferSize,
223 &bytes_needed));
224 EXPECT_TRUE(monitor2->pfnXcvClosePort != NULL); 219 EXPECT_TRUE(monitor2->pfnXcvClosePort != NULL);
225 EXPECT_TRUE(monitor2->pfnXcvClosePort(xcv_handle)); 220 EXPECT_TRUE(monitor2->pfnXcvClosePort(xcv_handle));
226 EXPECT_TRUE(monitor2->pfnXcvOpenPort(monitor_handle, 221 EXPECT_TRUE(monitor2->pfnXcvOpenPort(monitor_handle,
227 NULL, 222 NULL,
228 SERVER_ACCESS_ADMINISTER, 223 SERVER_ACCESS_ADMINISTER,
229 &xcv_handle)); 224 &xcv_handle));
230 EXPECT_TRUE(xcv_handle != NULL); 225 EXPECT_TRUE(xcv_handle != NULL);
231 EXPECT_TRUE(monitor2->pfnXcvDataPort != NULL); 226 EXPECT_TRUE(monitor2->pfnXcvDataPort != NULL);
232 EXPECT_EQ(ERROR_SUCCESS, 227 EXPECT_EQ(static_cast<DWORD>(ERROR_SUCCESS),
233 monitor2->pfnXcvDataPort(xcv_handle, 228 monitor2->pfnXcvDataPort(xcv_handle, kXcvDataItem, NULL, 0, buffer,
234 kXcvDataItem, 229 kBufferSize, &bytes_needed));
235 NULL,
236 0,
237 buffer,
238 kBufferSize,
239 &bytes_needed));
240 EXPECT_TRUE(monitor2->pfnXcvClosePort != NULL); 230 EXPECT_TRUE(monitor2->pfnXcvClosePort != NULL);
241 EXPECT_TRUE(monitor2->pfnXcvClosePort(xcv_handle)); 231 EXPECT_TRUE(monitor2->pfnXcvClosePort(xcv_handle));
242 232
243 // Test opening the port and running a print job. 233 // Test opening the port and running a print job.
244 EXPECT_TRUE(monitor2->pfnOpenPort != NULL); 234 EXPECT_TRUE(monitor2->pfnOpenPort != NULL);
245 EXPECT_TRUE(monitor2->pfnOpenPort(monitor_handle, NULL, &port_handle)); 235 EXPECT_TRUE(monitor2->pfnOpenPort(monitor_handle, NULL, &port_handle));
246 EXPECT_TRUE(port_handle != NULL); 236 EXPECT_TRUE(port_handle != NULL);
247 EXPECT_TRUE(monitor2->pfnStartDocPort != NULL); 237 EXPECT_TRUE(monitor2->pfnStartDocPort != NULL);
248 EXPECT_TRUE(monitor2->pfnWritePort != NULL); 238 EXPECT_TRUE(monitor2->pfnWritePort != NULL);
249 EXPECT_TRUE(monitor2->pfnReadPort != NULL); 239 EXPECT_TRUE(monitor2->pfnReadPort != NULL);
250 EXPECT_TRUE(monitor2->pfnEndDocPort != NULL); 240 EXPECT_TRUE(monitor2->pfnEndDocPort != NULL);
251 241
252 // These functions should fail if we have not impersonated the user. 242 // These functions should fail if we have not impersonated the user.
253 EXPECT_FALSE(monitor2->pfnStartDocPort( 243 EXPECT_FALSE(monitor2->pfnStartDocPort(
254 port_handle, const_cast<wchar_t*>(L""), 0, 0, NULL)); 244 port_handle, const_cast<wchar_t*>(L""), 0, 0, NULL));
255 EXPECT_FALSE(monitor2->pfnWritePort(port_handle, 245 EXPECT_FALSE(monitor2->pfnWritePort(port_handle,
256 buffer, 246 buffer,
257 kBufferSize, 247 kBufferSize,
258 &bytes_processed)); 248 &bytes_processed));
259 EXPECT_EQ(0, bytes_processed); 249 EXPECT_EQ(0u, bytes_processed);
260 EXPECT_FALSE(monitor2->pfnReadPort(port_handle, 250 EXPECT_FALSE(monitor2->pfnReadPort(port_handle,
261 buffer, 251 buffer,
262 sizeof(buffer), 252 sizeof(buffer),
263 &bytes_processed)); 253 &bytes_processed));
264 EXPECT_EQ(0u, bytes_processed); 254 EXPECT_EQ(0u, bytes_processed);
265 EXPECT_FALSE(monitor2->pfnEndDocPort(port_handle)); 255 EXPECT_FALSE(monitor2->pfnEndDocPort(port_handle));
266 256
267 // Now impersonate so we can test the success case. 257 // Now impersonate so we can test the success case.
268 ASSERT_TRUE(ImpersonateSelf(SecurityImpersonation)); 258 ASSERT_TRUE(ImpersonateSelf(SecurityImpersonation));
269 EXPECT_TRUE(monitor2->pfnStartDocPort( 259 EXPECT_TRUE(monitor2->pfnStartDocPort(
(...skipping 11 matching lines...) Expand all
281 EXPECT_TRUE(monitor2->pfnEndDocPort(port_handle)); 271 EXPECT_TRUE(monitor2->pfnEndDocPort(port_handle));
282 RevertToSelf(); 272 RevertToSelf();
283 EXPECT_TRUE(monitor2->pfnClosePort != NULL); 273 EXPECT_TRUE(monitor2->pfnClosePort != NULL);
284 EXPECT_TRUE(monitor2->pfnClosePort(port_handle)); 274 EXPECT_TRUE(monitor2->pfnClosePort(port_handle));
285 // Shutdown the port monitor. 275 // Shutdown the port monitor.
286 Monitor2Shutdown(monitor_handle); 276 Monitor2Shutdown(monitor_handle);
287 } 277 }
288 278
289 } // namespace cloud_print 279 } // namespace cloud_print
290 280
OLDNEW
« no previous file with comments | « chrome_elf/elf_imports_unittest.cc ('k') | components/browser_watcher/endsession_watcher_window_win_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698