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

Side by Side Diff: base/win/event_trace_consumer_unittest.cc

Issue 1507413003: clang/win: Let some chromium_code targets build with -Wextra. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: content_browsertests 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
« no previous file with comments | « base/win/enum_variant_unittest.cc ('k') | base/win/event_trace_controller_unittest.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 (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 // Unit tests for event trace consumer base class. 5 // Unit tests for event trace consumer base class.
6 #include "base/win/event_trace_consumer.h" 6 #include "base/win/event_trace_consumer.h"
7 7
8 #include <list> 8 #include <list>
9 9
10 #include <objbase.h> 10 #include <objbase.h>
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 if (controller.StartRealtimeSession(session_name_.c_str(), 100 * 1024) == 202 if (controller.StartRealtimeSession(session_name_.c_str(), 100 * 1024) ==
203 E_ACCESSDENIED) { 203 E_ACCESSDENIED) {
204 VLOG(1) << "You must be an administrator to run this test on Vista"; 204 VLOG(1) << "You must be an administrator to run this test on Vista";
205 return; 205 return;
206 } 206 }
207 207
208 // Start the consumer_. 208 // Start the consumer_.
209 ASSERT_HRESULT_SUCCEEDED(StartConsumerThread()); 209 ASSERT_HRESULT_SUCCEEDED(StartConsumerThread());
210 210
211 // Wait around for the consumer_ thread a bit. 211 // Wait around for the consumer_ thread a bit.
212 ASSERT_EQ(WAIT_TIMEOUT, ::WaitForSingleObject(consumer_thread_.Get(), 50)); 212 ASSERT_EQ(static_cast<DWORD>(WAIT_TIMEOUT),
213 ::WaitForSingleObject(consumer_thread_.Get(), 50));
213 ASSERT_HRESULT_SUCCEEDED(controller.Stop(NULL)); 214 ASSERT_HRESULT_SUCCEEDED(controller.Stop(NULL));
214 215
215 // The consumer_ returns success on session stop. 216 // The consumer_ returns success on session stop.
216 ASSERT_HRESULT_SUCCEEDED(JoinConsumerThread()); 217 ASSERT_HRESULT_SUCCEEDED(JoinConsumerThread());
217 } 218 }
218 219
219 namespace { 220 namespace {
220 221
221 // {57E47923-A549-476f-86CA-503D57F59E62} 222 // {57E47923-A549-476f-86CA-503D57F59E62}
222 DEFINE_GUID( 223 DEFINE_GUID(
223 kTestEventType, 224 kTestEventType,
224 0x57e47923, 0xa549, 0x476f, 0x86, 0xca, 0x50, 0x3d, 0x57, 0xf5, 0x9e, 0x62); 225 0x57e47923, 0xa549, 0x476f, 0x86, 0xca, 0x50, 0x3d, 0x57, 0xf5, 0x9e, 0x62);
225 226
226 } // namespace 227 } // namespace
227 228
228 TEST_F(EtwTraceConsumerRealtimeTest, ConsumeEvent) { 229 TEST_F(EtwTraceConsumerRealtimeTest, ConsumeEvent) {
229 EtwTraceController controller; 230 EtwTraceController controller;
230 if (controller.StartRealtimeSession(session_name_.c_str(), 100 * 1024) == 231 if (controller.StartRealtimeSession(session_name_.c_str(), 100 * 1024) ==
231 E_ACCESSDENIED) { 232 E_ACCESSDENIED) {
232 VLOG(1) << "You must be an administrator to run this test on Vista"; 233 VLOG(1) << "You must be an administrator to run this test on Vista";
233 return; 234 return;
234 } 235 }
235 236
236 ASSERT_HRESULT_SUCCEEDED(controller.EnableProvider( 237 ASSERT_HRESULT_SUCCEEDED(controller.EnableProvider(
237 test_provider_, TRACE_LEVEL_VERBOSE, 0xFFFFFFFF)); 238 test_provider_, TRACE_LEVEL_VERBOSE, 0xFFFFFFFF));
238 239
239 EtwTraceProvider provider(test_provider_); 240 EtwTraceProvider provider(test_provider_);
240 ASSERT_EQ(ERROR_SUCCESS, provider.Register()); 241 ASSERT_EQ(static_cast<DWORD>(ERROR_SUCCESS), provider.Register());
241 242
242 // Start the consumer_. 243 // Start the consumer_.
243 ASSERT_HRESULT_SUCCEEDED(StartConsumerThread()); 244 ASSERT_HRESULT_SUCCEEDED(StartConsumerThread());
244 ASSERT_EQ(0, TestConsumer::events_.size()); 245 ASSERT_EQ(0u, TestConsumer::events_.size());
245 246
246 EtwMofEvent<1> event(kTestEventType, 1, TRACE_LEVEL_ERROR); 247 EtwMofEvent<1> event(kTestEventType, 1, TRACE_LEVEL_ERROR);
247 EXPECT_EQ(ERROR_SUCCESS, provider.Log(&event.header)); 248 EXPECT_EQ(static_cast<DWORD>(ERROR_SUCCESS), provider.Log(&event.header));
248 EXPECT_EQ(WAIT_OBJECT_0, 249 EXPECT_EQ(WAIT_OBJECT_0,
249 ::WaitForSingleObject(TestConsumer::sank_event_.Get(), INFINITE)); 250 ::WaitForSingleObject(TestConsumer::sank_event_.Get(), INFINITE));
250 ASSERT_HRESULT_SUCCEEDED(controller.Stop(NULL)); 251 ASSERT_HRESULT_SUCCEEDED(controller.Stop(NULL));
251 ASSERT_HRESULT_SUCCEEDED(JoinConsumerThread()); 252 ASSERT_HRESULT_SUCCEEDED(JoinConsumerThread());
252 ASSERT_NE(0u, TestConsumer::events_.size()); 253 ASSERT_NE(0u, TestConsumer::events_.size());
253 } 254 }
254 255
255 namespace { 256 namespace {
256 257
257 // We run events through a file session to assert that 258 // We run events through a file session to assert that
(...skipping 29 matching lines...) Expand all
287 temp_file_.value().c_str()); 288 temp_file_.value().c_str());
288 if (FAILED(hr)) 289 if (FAILED(hr))
289 return hr; 290 return hr;
290 291
291 // Enable our provider. 292 // Enable our provider.
292 EXPECT_HRESULT_SUCCEEDED(controller.EnableProvider( 293 EXPECT_HRESULT_SUCCEEDED(controller.EnableProvider(
293 test_provider_, TRACE_LEVEL_VERBOSE, 0xFFFFFFFF)); 294 test_provider_, TRACE_LEVEL_VERBOSE, 0xFFFFFFFF));
294 295
295 EtwTraceProvider provider(test_provider_); 296 EtwTraceProvider provider(test_provider_);
296 // Then register our provider, means we get a session handle immediately. 297 // Then register our provider, means we get a session handle immediately.
297 EXPECT_EQ(ERROR_SUCCESS, provider.Register()); 298 EXPECT_EQ(static_cast<DWORD>(ERROR_SUCCESS), provider.Register());
298 // Trace the event, it goes to the temp file. 299 // Trace the event, it goes to the temp file.
299 EXPECT_EQ(ERROR_SUCCESS, provider.Log(header)); 300 EXPECT_EQ(static_cast<DWORD>(ERROR_SUCCESS), provider.Log(header));
300 EXPECT_HRESULT_SUCCEEDED(controller.DisableProvider(test_provider_)); 301 EXPECT_HRESULT_SUCCEEDED(controller.DisableProvider(test_provider_));
301 EXPECT_HRESULT_SUCCEEDED(provider.Unregister()); 302 EXPECT_HRESULT_SUCCEEDED(provider.Unregister());
302 EXPECT_HRESULT_SUCCEEDED(controller.Flush(NULL)); 303 EXPECT_HRESULT_SUCCEEDED(controller.Flush(NULL));
303 EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL)); 304 EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL));
304 305
305 return S_OK; 306 return S_OK;
306 } 307 }
307 308
308 HRESULT ConsumeEventFromTempSession() { 309 HRESULT ConsumeEventFromTempSession() {
309 // Now consume the event(s). 310 // Now consume the event(s).
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 return; 358 return;
358 } 359 }
359 ASSERT_HRESULT_SUCCEEDED(hr) << "RoundTripEvent failed"; 360 ASSERT_HRESULT_SUCCEEDED(hr) << "RoundTripEvent failed";
360 ASSERT_TRUE(trace != NULL); 361 ASSERT_TRUE(trace != NULL);
361 ASSERT_EQ(sizeof(kData), trace->MofLength); 362 ASSERT_EQ(sizeof(kData), trace->MofLength);
362 ASSERT_STREQ(kData, reinterpret_cast<const char*>(trace->MofData)); 363 ASSERT_STREQ(kData, reinterpret_cast<const char*>(trace->MofData));
363 } 364 }
364 365
365 } // namespace win 366 } // namespace win
366 } // namespace base 367 } // namespace base
OLDNEW
« no previous file with comments | « base/win/enum_variant_unittest.cc ('k') | base/win/event_trace_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698