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

Side by Side Diff: chrome/browser/media/chrome_webrtc_browsertest.cc

Issue 24024003: Implements CPU measurement of a WebRTC call on Mac. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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 | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/file_util.h" 6 #include "base/file_util.h"
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "base/process/launch.h" 8 #include "base/process/launch.h"
9 #include "base/process/process_metrics.h" 9 #include "base/process/process_metrics.h"
10 #include "base/strings/string_split.h" 10 #include "base/strings/string_split.h"
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 HangUp(left_tab); 216 HangUp(left_tab);
217 WaitUntilHangupVerified(left_tab); 217 WaitUntilHangupVerified(left_tab);
218 WaitUntilHangupVerified(right_tab); 218 WaitUntilHangupVerified(right_tab);
219 219
220 AssertNoAsynchronousErrors(left_tab); 220 AssertNoAsynchronousErrors(left_tab);
221 AssertNoAsynchronousErrors(right_tab); 221 AssertNoAsynchronousErrors(right_tab);
222 222
223 ASSERT_TRUE(peerconnection_server_.Stop()); 223 ASSERT_TRUE(peerconnection_server_.Stop());
224 } 224 }
225 225
226 // TODO(phoglund): figure out how to do mach port brokering on Mac.
227 #if !defined(OS_MACOSX)
228 IN_PROC_BROWSER_TEST_F(WebrtcBrowserTest, 226 IN_PROC_BROWSER_TEST_F(WebrtcBrowserTest,
229 MANUAL_RendererCpuUsage20Seconds) { 227 MANUAL_RendererCpuUsage20Seconds) {
230 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 228 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
231 ASSERT_TRUE(peerconnection_server_.Start()); 229 ASSERT_TRUE(peerconnection_server_.Start());
232 230
233 base::FilePath results_file; 231 base::FilePath results_file;
234 EXPECT_TRUE(file_util::CreateTemporaryFile(&results_file)); 232 ASSERT_TRUE(file_util::CreateTemporaryFile(&results_file));
235 233
236 ui_test_utils::NavigateToURL( 234 ui_test_utils::NavigateToURL(
237 browser(), embedded_test_server()->GetURL(kMainWebrtcTestHtmlPage)); 235 browser(), embedded_test_server()->GetURL(kMainWebrtcTestHtmlPage));
238 content::WebContents* left_tab = 236 content::WebContents* left_tab =
239 browser()->tab_strip_model()->GetActiveWebContents(); 237 browser()->tab_strip_model()->GetActiveWebContents();
240 238
241 base::ProcessHandle renderer_pid = 239 base::ProcessHandle renderer_pid =
242 left_tab->GetRenderProcessHost()->GetHandle(); 240 left_tab->GetRenderProcessHost()->GetHandle();
243 241
242 #if defined(OS_MACOSX)
243 // TODO(phoglund): This will not report correct values on mac:
244 // move renderer process measurement to content browser test.
245 scoped_ptr<base::ProcessMetrics> renderer_process_metrics(
246 base::ProcessMetrics::CreateProcessMetrics(renderer_pid, NULL));
247 scoped_ptr<base::ProcessMetrics> browser_process_metrics(
248 base::ProcessMetrics::CreateProcessMetrics(
249 base::Process::Current().handle(), NULL));
250 #else
244 scoped_ptr<base::ProcessMetrics> renderer_process_metrics( 251 scoped_ptr<base::ProcessMetrics> renderer_process_metrics(
245 base::ProcessMetrics::CreateProcessMetrics(renderer_pid)); 252 base::ProcessMetrics::CreateProcessMetrics(renderer_pid));
246 scoped_ptr<base::ProcessMetrics> browser_process_metrics( 253 scoped_ptr<base::ProcessMetrics> browser_process_metrics(
247 base::ProcessMetrics::CreateProcessMetrics( 254 base::ProcessMetrics::CreateProcessMetrics(
248 base::Process::Current().handle())); 255 base::Process::Current().handle()));
256 #endif
249 257
250 // Start measuring CPU. 258 // Start measuring CPU.
251 renderer_process_metrics->GetCPUUsage(); 259 renderer_process_metrics->GetCPUUsage();
252 browser_process_metrics->GetCPUUsage(); 260 browser_process_metrics->GetCPUUsage();
253 261
254 GetUserMediaAndAccept(left_tab); 262 GetUserMediaAndAccept(left_tab);
255 263
256 chrome::AddBlankTabAt(browser(), -1, true); 264 chrome::AddBlankTabAt(browser(), -1, true);
257 content::WebContents* right_tab = 265 content::WebContents* right_tab =
258 browser()->tab_strip_model()->GetActiveWebContents(); 266 browser()->tab_strip_model()->GetActiveWebContents();
(...skipping 16 matching lines...) Expand all
275 WaitUntilHangupVerified(right_tab); 283 WaitUntilHangupVerified(right_tab);
276 284
277 PrintProcessMetrics(renderer_process_metrics.get(), "_r"); 285 PrintProcessMetrics(renderer_process_metrics.get(), "_r");
278 PrintProcessMetrics(browser_process_metrics.get(), "_b"); 286 PrintProcessMetrics(browser_process_metrics.get(), "_b");
279 287
280 AssertNoAsynchronousErrors(left_tab); 288 AssertNoAsynchronousErrors(left_tab);
281 AssertNoAsynchronousErrors(right_tab); 289 AssertNoAsynchronousErrors(right_tab);
282 290
283 ASSERT_TRUE(peerconnection_server_.Stop()); 291 ASSERT_TRUE(peerconnection_server_.Stop());
284 } 292 }
285 #endif
286 293
287 IN_PROC_BROWSER_TEST_F(WebrtcBrowserTest, 294 IN_PROC_BROWSER_TEST_F(WebrtcBrowserTest,
288 MANUAL_TestMediaStreamTrackEnableDisable) { 295 MANUAL_TestMediaStreamTrackEnableDisable) {
289 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 296 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
290 ASSERT_TRUE(peerconnection_server_.Start()); 297 ASSERT_TRUE(peerconnection_server_.Start());
291 298
292 ui_test_utils::NavigateToURL( 299 ui_test_utils::NavigateToURL(
293 browser(), embedded_test_server()->GetURL(kMainWebrtcTestHtmlPage)); 300 browser(), embedded_test_server()->GetURL(kMainWebrtcTestHtmlPage));
294 content::WebContents* left_tab = 301 content::WebContents* left_tab =
295 browser()->tab_strip_model()->GetActiveWebContents(); 302 browser()->tab_strip_model()->GetActiveWebContents();
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 multipart_lines[26].c_str()); 532 multipart_lines[26].c_str());
526 EXPECT_TRUE(multipart_lines[27].empty()); 533 EXPECT_TRUE(multipart_lines[27].empty());
527 EXPECT_TRUE(multipart_lines[28].empty()); // The removed zip part. 534 EXPECT_TRUE(multipart_lines[28].empty()); // The removed zip part.
528 std::string final_delimiter = boundary; 535 std::string final_delimiter = boundary;
529 final_delimiter += "--"; 536 final_delimiter += "--";
530 EXPECT_STREQ(final_delimiter.c_str(), multipart_lines[29].c_str()); 537 EXPECT_STREQ(final_delimiter.c_str(), multipart_lines[29].c_str());
531 EXPECT_TRUE(multipart_lines[30].empty()); 538 EXPECT_TRUE(multipart_lines[30].empty());
532 539
533 ASSERT_TRUE(peerconnection_server_.Stop()); 540 ASSERT_TRUE(peerconnection_server_.Stop());
534 } 541 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698