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

Side by Side Diff: base/win/event_trace_controller_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/event_trace_consumer_unittest.cc ('k') | base/win/event_trace_provider.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) 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 controller. 5 // Unit tests for event trace controller.
6 6
7 #include <objbase.h> 7 #include <objbase.h>
8 #include <initguid.h> 8 #include <initguid.h>
9 9
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 55
56 TEST(EtwTracePropertiesTest, Initialization) { 56 TEST(EtwTracePropertiesTest, Initialization) {
57 EtwTraceProperties prop; 57 EtwTraceProperties prop;
58 58
59 EVENT_TRACE_PROPERTIES* p = prop.get(); 59 EVENT_TRACE_PROPERTIES* p = prop.get();
60 EXPECT_NE(0u, p->Wnode.BufferSize); 60 EXPECT_NE(0u, p->Wnode.BufferSize);
61 EXPECT_EQ(0u, p->Wnode.ProviderId); 61 EXPECT_EQ(0u, p->Wnode.ProviderId);
62 EXPECT_EQ(0u, p->Wnode.HistoricalContext); 62 EXPECT_EQ(0u, p->Wnode.HistoricalContext);
63 63
64 EXPECT_TRUE(kGuidNull == p->Wnode.Guid); 64 EXPECT_TRUE(kGuidNull == p->Wnode.Guid);
65 EXPECT_EQ(0, p->Wnode.ClientContext); 65 EXPECT_EQ(0u, p->Wnode.ClientContext);
66 EXPECT_EQ(WNODE_FLAG_TRACED_GUID, p->Wnode.Flags); 66 EXPECT_EQ(static_cast<ULONG>(WNODE_FLAG_TRACED_GUID), p->Wnode.Flags);
67 67
68 EXPECT_EQ(0, p->BufferSize); 68 EXPECT_EQ(0u, p->BufferSize);
69 EXPECT_EQ(0, p->MinimumBuffers); 69 EXPECT_EQ(0u, p->MinimumBuffers);
70 EXPECT_EQ(0, p->MaximumBuffers); 70 EXPECT_EQ(0u, p->MaximumBuffers);
71 EXPECT_EQ(0, p->MaximumFileSize); 71 EXPECT_EQ(0u, p->MaximumFileSize);
72 EXPECT_EQ(0, p->LogFileMode); 72 EXPECT_EQ(0u, p->LogFileMode);
73 EXPECT_EQ(0, p->FlushTimer); 73 EXPECT_EQ(0u, p->FlushTimer);
74 EXPECT_EQ(0, p->EnableFlags); 74 EXPECT_EQ(0u, p->EnableFlags);
75 EXPECT_EQ(0, p->AgeLimit); 75 EXPECT_EQ(0, p->AgeLimit);
76 76
77 EXPECT_EQ(0, p->NumberOfBuffers); 77 EXPECT_EQ(0u, p->NumberOfBuffers);
78 EXPECT_EQ(0, p->FreeBuffers); 78 EXPECT_EQ(0u, p->FreeBuffers);
79 EXPECT_EQ(0, p->EventsLost); 79 EXPECT_EQ(0u, p->EventsLost);
80 EXPECT_EQ(0, p->BuffersWritten); 80 EXPECT_EQ(0u, p->BuffersWritten);
81 EXPECT_EQ(0, p->LogBuffersLost); 81 EXPECT_EQ(0u, p->LogBuffersLost);
82 EXPECT_EQ(0, p->RealTimeBuffersLost); 82 EXPECT_EQ(0u, p->RealTimeBuffersLost);
83 EXPECT_EQ(0, p->LoggerThreadId); 83 EXPECT_EQ(0u, p->LoggerThreadId);
84 EXPECT_NE(0u, p->LogFileNameOffset); 84 EXPECT_NE(0u, p->LogFileNameOffset);
85 EXPECT_NE(0u, p->LoggerNameOffset); 85 EXPECT_NE(0u, p->LoggerNameOffset);
86 } 86 }
87 87
88 TEST(EtwTracePropertiesTest, Strings) { 88 TEST(EtwTracePropertiesTest, Strings) {
89 EtwTraceProperties prop; 89 EtwTraceProperties prop;
90 90
91 ASSERT_STREQ(L"", prop.GetLoggerFileName()); 91 ASSERT_STREQ(L"", prop.GetLoggerFileName());
92 ASSERT_STREQ(L"", prop.GetLoggerName()); 92 ASSERT_STREQ(L"", prop.GetLoggerName());
93 93
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 protected: 126 protected:
127 GUID test_provider_; 127 GUID test_provider_;
128 std::wstring session_name_; 128 std::wstring session_name_;
129 }; 129 };
130 130
131 } // namespace 131 } // namespace
132 132
133 TEST_F(EtwTraceControllerTest, Initialize) { 133 TEST_F(EtwTraceControllerTest, Initialize) {
134 EtwTraceController controller; 134 EtwTraceController controller;
135 135
136 EXPECT_EQ(NULL, controller.session()); 136 EXPECT_EQ(0u, controller.session());
137 EXPECT_STREQ(L"", controller.session_name()); 137 EXPECT_STREQ(L"", controller.session_name());
138 } 138 }
139 139
140 140
141 TEST_F(EtwTraceControllerTest, StartRealTimeSession) { 141 TEST_F(EtwTraceControllerTest, StartRealTimeSession) {
142 EtwTraceController controller; 142 EtwTraceController controller;
143 143
144 HRESULT hr = controller.StartRealtimeSession(session_name_.c_str(), 144 HRESULT hr = controller.StartRealtimeSession(session_name_.c_str(),
145 100 * 1024); 145 100 * 1024);
146 if (hr == E_ACCESSDENIED) { 146 if (hr == E_ACCESSDENIED) {
147 VLOG(1) << "You must be an administrator to run this test on Vista"; 147 VLOG(1) << "You must be an administrator to run this test on Vista";
148 return; 148 return;
149 } 149 }
150 150
151 EXPECT_TRUE(NULL != controller.session()); 151 EXPECT_NE(0u, controller.session());
152 EXPECT_STREQ(session_name_.c_str(), controller.session_name()); 152 EXPECT_STREQ(session_name_.c_str(), controller.session_name());
153 153
154 EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL)); 154 EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL));
155 EXPECT_EQ(NULL, controller.session()); 155 EXPECT_EQ(0u, controller.session());
156 EXPECT_STREQ(L"", controller.session_name()); 156 EXPECT_STREQ(L"", controller.session_name());
157 } 157 }
158 158
159 TEST_F(EtwTraceControllerTest, StartFileSession) { 159 TEST_F(EtwTraceControllerTest, StartFileSession) {
160 ScopedTempDir temp_dir; 160 ScopedTempDir temp_dir;
161 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 161 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
162 FilePath temp; 162 FilePath temp;
163 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir.path(), &temp)); 163 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir.path(), &temp));
164 164
165 EtwTraceController controller; 165 EtwTraceController controller;
166 HRESULT hr = controller.StartFileSession(session_name_.c_str(), 166 HRESULT hr = controller.StartFileSession(session_name_.c_str(),
167 temp.value().c_str()); 167 temp.value().c_str());
168 if (hr == E_ACCESSDENIED) { 168 if (hr == E_ACCESSDENIED) {
169 VLOG(1) << "You must be an administrator to run this test on Vista"; 169 VLOG(1) << "You must be an administrator to run this test on Vista";
170 base::DeleteFile(temp, false); 170 base::DeleteFile(temp, false);
171 return; 171 return;
172 } 172 }
173 173
174 EXPECT_TRUE(NULL != controller.session()); 174 EXPECT_NE(0u, controller.session());
175 EXPECT_STREQ(session_name_.c_str(), controller.session_name()); 175 EXPECT_STREQ(session_name_.c_str(), controller.session_name());
176 176
177 EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL)); 177 EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL));
178 EXPECT_EQ(NULL, controller.session()); 178 EXPECT_EQ(0u, controller.session());
179 EXPECT_STREQ(L"", controller.session_name()); 179 EXPECT_STREQ(L"", controller.session_name());
180 base::DeleteFile(temp, false); 180 base::DeleteFile(temp, false);
181 } 181 }
182 182
183 // This test is flaky for unclear reasons. See bugs 525297 and 534184 183 // This test is flaky for unclear reasons. See bugs 525297 and 534184
184 TEST_F(EtwTraceControllerTest, DISABLED_EnableDisable) { 184 TEST_F(EtwTraceControllerTest, DISABLED_EnableDisable) {
185 TestingProvider provider(test_provider_); 185 TestingProvider provider(test_provider_);
186 186
187 EXPECT_EQ(ERROR_SUCCESS, provider.Register()); 187 EXPECT_EQ(static_cast<DWORD>(ERROR_SUCCESS), provider.Register());
188 EXPECT_EQ(NULL, provider.session_handle()); 188 EXPECT_EQ(0u, provider.session_handle());
189 189
190 EtwTraceController controller; 190 EtwTraceController controller;
191 HRESULT hr = controller.StartRealtimeSession(session_name_.c_str(), 191 HRESULT hr = controller.StartRealtimeSession(session_name_.c_str(),
192 100 * 1024); 192 100 * 1024);
193 if (hr == E_ACCESSDENIED) { 193 if (hr == E_ACCESSDENIED) {
194 VLOG(1) << "You must be an administrator to run this test on Vista"; 194 VLOG(1) << "You must be an administrator to run this test on Vista";
195 return; 195 return;
196 } 196 }
197 197
198 EXPECT_HRESULT_SUCCEEDED(controller.EnableProvider(test_provider_, 198 EXPECT_HRESULT_SUCCEEDED(controller.EnableProvider(test_provider_,
199 TRACE_LEVEL_VERBOSE, kTestProviderFlags)); 199 TRACE_LEVEL_VERBOSE, kTestProviderFlags));
200 200
201 provider.WaitForCallback(); 201 provider.WaitForCallback();
202 202
203 EXPECT_EQ(TRACE_LEVEL_VERBOSE, provider.enable_level()); 203 EXPECT_EQ(TRACE_LEVEL_VERBOSE, provider.enable_level());
204 EXPECT_EQ(kTestProviderFlags, provider.enable_flags()); 204 EXPECT_EQ(kTestProviderFlags, provider.enable_flags());
205 205
206 EXPECT_HRESULT_SUCCEEDED(controller.DisableProvider(test_provider_)); 206 EXPECT_HRESULT_SUCCEEDED(controller.DisableProvider(test_provider_));
207 207
208 provider.WaitForCallback(); 208 provider.WaitForCallback();
209 209
210 EXPECT_EQ(0, provider.enable_level()); 210 EXPECT_EQ(0, provider.enable_level());
211 EXPECT_EQ(0, provider.enable_flags()); 211 EXPECT_EQ(0u, provider.enable_flags());
212 212
213 EXPECT_EQ(ERROR_SUCCESS, provider.Unregister()); 213 EXPECT_EQ(static_cast<DWORD>(ERROR_SUCCESS), provider.Unregister());
214 214
215 // Enable the provider again, before registering. 215 // Enable the provider again, before registering.
216 EXPECT_HRESULT_SUCCEEDED(controller.EnableProvider(test_provider_, 216 EXPECT_HRESULT_SUCCEEDED(controller.EnableProvider(test_provider_,
217 TRACE_LEVEL_VERBOSE, kTestProviderFlags)); 217 TRACE_LEVEL_VERBOSE, kTestProviderFlags));
218 218
219 // Register the provider again, the settings above 219 // Register the provider again, the settings above
220 // should take immediate effect. 220 // should take immediate effect.
221 EXPECT_EQ(ERROR_SUCCESS, provider.Register()); 221 EXPECT_EQ(static_cast<DWORD>(ERROR_SUCCESS), provider.Register());
222 222
223 EXPECT_EQ(TRACE_LEVEL_VERBOSE, provider.enable_level()); 223 EXPECT_EQ(TRACE_LEVEL_VERBOSE, provider.enable_level());
224 EXPECT_EQ(kTestProviderFlags, provider.enable_flags()); 224 EXPECT_EQ(kTestProviderFlags, provider.enable_flags());
225 225
226 // Consume the callback event of the previous controller.EnableProvider(). 226 // Consume the callback event of the previous controller.EnableProvider().
227 provider.WaitForCallback(); 227 provider.WaitForCallback();
228 228
229 EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL)); 229 EXPECT_HRESULT_SUCCEEDED(controller.Stop(NULL));
230 230
231 // Windows 7 does not call the callback when Stop() is called so we 231 // Windows 7 does not call the callback when Stop() is called so we
232 // can't wait, and enable_level and enable_flags are not zeroed. 232 // can't wait, and enable_level and enable_flags are not zeroed.
233 if (base::win::GetVersion() >= VERSION_WIN8) { 233 if (base::win::GetVersion() >= VERSION_WIN8) {
234 provider.WaitForCallback(); 234 provider.WaitForCallback();
235 235
236 // Session should have wound down. 236 // Session should have wound down.
237 EXPECT_EQ(0, provider.enable_level()); 237 EXPECT_EQ(0, provider.enable_level());
238 EXPECT_EQ(0, provider.enable_flags()); 238 EXPECT_EQ(0u, provider.enable_flags());
239 } 239 }
240 } 240 }
241 241
242 } // namespace win 242 } // namespace win
243 } // namespace base 243 } // namespace base
OLDNEW
« no previous file with comments | « base/win/event_trace_consumer_unittest.cc ('k') | base/win/event_trace_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698