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

Side by Side Diff: base/event_trace_controller_win_unittest.cc

Issue 3800006: Fix event tracing for windows test flakyness.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 10 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « base/event_trace_controller_win.cc ('k') | base/event_trace_provider_win.h » ('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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 controller. 5 // Unit tests for event trace controller.
6 #include "base/event_trace_controller_win.h" 6 #include "base/event_trace_controller_win.h"
7 #include "base/event_trace_provider_win.h" 7 #include "base/event_trace_provider_win.h"
8 #include "base/file_path.h" 8 #include "base/file_path.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 24 matching lines...) Expand all
35 35
36 void WaitForCallback() { 36 void WaitForCallback() {
37 ::WaitForSingleObject(callback_event_.Get(), INFINITE); 37 ::WaitForSingleObject(callback_event_.Get(), INFINITE);
38 ::ResetEvent(callback_event_.Get()); 38 ::ResetEvent(callback_event_.Get());
39 } 39 }
40 40
41 private: 41 private:
42 virtual void OnEventsEnabled() { 42 virtual void OnEventsEnabled() {
43 ::SetEvent(callback_event_.Get()); 43 ::SetEvent(callback_event_.Get());
44 } 44 }
45 virtual void OnEventsDisabled() { 45 virtual void PostEventsDisabled() {
46 ::SetEvent(callback_event_.Get()); 46 ::SetEvent(callback_event_.Get());
47 } 47 }
48 48
49 ScopedHandle callback_event_; 49 ScopedHandle callback_event_;
50 50
51 DISALLOW_COPY_AND_ASSIGN(TestingProvider); 51 DISALLOW_COPY_AND_ASSIGN(TestingProvider);
52 }; 52 };
53 53
54 } // namespace 54 } // namespace
55 55
56 TEST(EtwTraceTest, Cleanup) { 56 TEST(EtwTraceTest, Cleanup) {
57 // Clean up potential leftover sessions from previous unsuccessful runs. 57 // Clean up potential leftover sessions from previous unsuccessful runs.
58 EtwTraceController::Stop(kTestSessionName, NULL); 58 EtwTraceProperties ignore;
59 EtwTraceController::Stop(kTestSessionName, &ignore);
59 } 60 }
60 61
61 TEST(EtwTracePropertiesTest, Initialization) { 62 TEST(EtwTracePropertiesTest, Initialization) {
62 EtwTraceProperties prop; 63 EtwTraceProperties prop;
63 64
64 EVENT_TRACE_PROPERTIES* p = prop.get(); 65 EVENT_TRACE_PROPERTIES* p = prop.get();
65 EXPECT_NE(0u, p->Wnode.BufferSize); 66 EXPECT_NE(0u, p->Wnode.BufferSize);
66 EXPECT_EQ(0u, p->Wnode.ProviderId); 67 EXPECT_EQ(0u, p->Wnode.ProviderId);
67 EXPECT_EQ(0u, p->Wnode.HistoricalContext); 68 EXPECT_EQ(0u, p->Wnode.HistoricalContext);
68 69
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 } 146 }
146 147
147 EXPECT_TRUE(NULL != controller.session()); 148 EXPECT_TRUE(NULL != controller.session());
148 EXPECT_STREQ(kTestSessionName, controller.session_name()); 149 EXPECT_STREQ(kTestSessionName, controller.session_name());
149 150
150 EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL)); 151 EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL));
151 EXPECT_EQ(NULL, controller.session()); 152 EXPECT_EQ(NULL, controller.session());
152 EXPECT_STREQ(L"", controller.session_name()); 153 EXPECT_STREQ(L"", controller.session_name());
153 } 154 }
154 155
155 // Flaky, http://crbug.com/59328. 156 TEST(EtwTraceControllerTest, EnableDisable) {
156 TEST(EtwTraceControllerTest, FLAKY_EnableDisable) {
157 TestingProvider provider(kTestProvider); 157 TestingProvider provider(kTestProvider);
158 158
159 EXPECT_EQ(ERROR_SUCCESS, provider.Register()); 159 EXPECT_EQ(ERROR_SUCCESS, provider.Register());
160 EXPECT_EQ(NULL, provider.session_handle()); 160 EXPECT_EQ(NULL, provider.session_handle());
161 161
162 EtwTraceController controller; 162 EtwTraceController controller;
163 HRESULT hr = controller.StartRealtimeSession(kTestSessionName, 100 * 1024); 163 HRESULT hr = controller.StartRealtimeSession(kTestSessionName, 100 * 1024);
164 if (hr == E_ACCESSDENIED) { 164 if (hr == E_ACCESSDENIED) {
165 LOG(INFO) << "You must be an administrator to run this test on Vista"; 165 LOG(INFO) << "You must be an administrator to run this test on Vista";
166 return; 166 return;
(...skipping 28 matching lines...) Expand all
195 EXPECT_EQ(kTestProviderFlags, provider.enable_flags()); 195 EXPECT_EQ(kTestProviderFlags, provider.enable_flags());
196 196
197 EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL)); 197 EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL));
198 198
199 provider.WaitForCallback(); 199 provider.WaitForCallback();
200 200
201 // Session should have wound down. 201 // Session should have wound down.
202 EXPECT_EQ(0, provider.enable_level()); 202 EXPECT_EQ(0, provider.enable_level());
203 EXPECT_EQ(0, provider.enable_flags()); 203 EXPECT_EQ(0, provider.enable_flags());
204 } 204 }
OLDNEW
« no previous file with comments | « base/event_trace_controller_win.cc ('k') | base/event_trace_provider_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698