| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <map> | 5 #include <map> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #if defined(OS_MACOSX) | 10 #if defined(OS_MACOSX) |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 kUseGpu = 1 << 0, // Only execute test if --enable-gpu was given | 65 kUseGpu = 1 << 0, // Only execute test if --enable-gpu was given |
| 66 // on the command line. This is required for | 66 // on the command line. This is required for |
| 67 // tests that run on GPU. | 67 // tests that run on GPU. |
| 68 kDisableVsync = 1 << 1, // Do not limit framerate to vertical refresh. | 68 kDisableVsync = 1 << 1, // Do not limit framerate to vertical refresh. |
| 69 // when on GPU, nor to 60hz when not on GPU. | 69 // when on GPU, nor to 60hz when not on GPU. |
| 70 kSmallWindow = 1 << 2, // 1 = 800x600, 0 = 2000x1000 | 70 kSmallWindow = 1 << 2, // 1 = 800x600, 0 = 2000x1000 |
| 71 k24fps = 1 << 3, // use 24 fps video | 71 k24fps = 1 << 3, // use 24 fps video |
| 72 k30fps = 1 << 4, // use 30 fps video | 72 k30fps = 1 << 4, // use 30 fps video |
| 73 k60fps = 1 << 5, // use 60 fps video | 73 k60fps = 1 << 5, // use 60 fps video |
| 74 kProxyWifi = 1 << 6, // Run UDP through UDPProxy wifi profile | 74 kProxyWifi = 1 << 6, // Run UDP through UDPProxy wifi profile |
| 75 kProxyBad = 1 << 7, // Run UDP through UDPProxy bad profile | 75 kProxyEvil = 1 << 7, // Run UDP through UDPProxy evil profile |
| 76 kSlowClock = 1 << 8, // Receiver clock is 10 seconds slow | 76 kSlowClock = 1 << 8, // Receiver clock is 10 seconds slow |
| 77 kFastClock = 1 << 9, // Receiver clock is 10 seconds fast | 77 kFastClock = 1 << 9, // Receiver clock is 10 seconds fast |
| 78 }; | 78 }; |
| 79 | 79 |
| 80 class SkewedTickClock : public base::DefaultTickClock { | 80 class SkewedTickClock : public base::DefaultTickClock { |
| 81 public: | 81 public: |
| 82 explicit SkewedTickClock(const base::TimeDelta& delta) : delta_(delta) { | 82 explicit SkewedTickClock(const base::TimeDelta& delta) : delta_(delta) { |
| 83 } | 83 } |
| 84 virtual base::TimeTicks NowTicks() OVERRIDE { | 84 virtual base::TimeTicks NowTicks() OVERRIDE { |
| 85 return DefaultTickClock::NowTicks() + delta_; | 85 return DefaultTickClock::NowTicks() + delta_; |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 307 if (HasFlag(kSmallWindow)) | 307 if (HasFlag(kSmallWindow)) |
| 308 suffix += "_small"; | 308 suffix += "_small"; |
| 309 if (HasFlag(k24fps)) | 309 if (HasFlag(k24fps)) |
| 310 suffix += "_24fps"; | 310 suffix += "_24fps"; |
| 311 if (HasFlag(k30fps)) | 311 if (HasFlag(k30fps)) |
| 312 suffix += "_30fps"; | 312 suffix += "_30fps"; |
| 313 if (HasFlag(k60fps)) | 313 if (HasFlag(k60fps)) |
| 314 suffix += "_60fps"; | 314 suffix += "_60fps"; |
| 315 if (HasFlag(kProxyWifi)) | 315 if (HasFlag(kProxyWifi)) |
| 316 suffix += "_wifi"; | 316 suffix += "_wifi"; |
| 317 if (HasFlag(kProxyBad)) | 317 if (HasFlag(kProxyEvil)) |
| 318 suffix += "_bad"; | 318 suffix += "_evil"; |
| 319 if (HasFlag(kSlowClock)) | 319 if (HasFlag(kSlowClock)) |
| 320 suffix += "_slow"; | 320 suffix += "_slow"; |
| 321 if (HasFlag(kFastClock)) | 321 if (HasFlag(kFastClock)) |
| 322 suffix += "_fast"; | 322 suffix += "_fast"; |
| 323 return suffix; | 323 return suffix; |
| 324 } | 324 } |
| 325 | 325 |
| 326 int getfps() { | 326 int getfps() { |
| 327 if (HasFlag(k24fps)) | 327 if (HasFlag(k24fps)) |
| 328 return 24; | 328 return 24; |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 588 if (HasFlag(kSlowClock)) { | 588 if (HasFlag(kSlowClock)) { |
| 589 delta = base::TimeDelta::FromSeconds(-10); | 589 delta = base::TimeDelta::FromSeconds(-10); |
| 590 } | 590 } |
| 591 scoped_refptr<media::cast::StandaloneCastEnvironment> cast_environment( | 591 scoped_refptr<media::cast::StandaloneCastEnvironment> cast_environment( |
| 592 new SkewedCastEnvironment(delta)); | 592 new SkewedCastEnvironment(delta)); |
| 593 TestPatternReceiver* const receiver = | 593 TestPatternReceiver* const receiver = |
| 594 new TestPatternReceiver(cast_environment, receiver_end_point); | 594 new TestPatternReceiver(cast_environment, receiver_end_point); |
| 595 receiver->Start(); | 595 receiver->Start(); |
| 596 | 596 |
| 597 scoped_ptr<media::cast::test::UDPProxy> udp_proxy; | 597 scoped_ptr<media::cast::test::UDPProxy> udp_proxy; |
| 598 if (HasFlag(kProxyWifi) || HasFlag(kProxyBad)) { | 598 if (HasFlag(kProxyWifi) || HasFlag(kProxyEvil)) { |
| 599 net::IPEndPoint proxy_end_point = GetFreeLocalPort(); | 599 net::IPEndPoint proxy_end_point = GetFreeLocalPort(); |
| 600 if (HasFlag(kProxyWifi)) { | 600 if (HasFlag(kProxyWifi)) { |
| 601 udp_proxy = media::cast::test::UDPProxy::Create( | 601 udp_proxy = media::cast::test::UDPProxy::Create( |
| 602 proxy_end_point, | 602 proxy_end_point, |
| 603 receiver_end_point, | 603 receiver_end_point, |
| 604 media::cast::test::WifiNetwork().Pass(), | 604 media::cast::test::WifiNetwork().Pass(), |
| 605 media::cast::test::WifiNetwork().Pass(), | 605 media::cast::test::WifiNetwork().Pass(), |
| 606 NULL); | 606 NULL); |
| 607 } else if (HasFlag(kProxyBad)) { | 607 } else if (HasFlag(kProxyEvil)) { |
| 608 udp_proxy = media::cast::test::UDPProxy::Create( | 608 udp_proxy = media::cast::test::UDPProxy::Create( |
| 609 proxy_end_point, | 609 proxy_end_point, |
| 610 receiver_end_point, | 610 receiver_end_point, |
| 611 media::cast::test::BadNetwork().Pass(), | 611 media::cast::test::EvilNetwork().Pass(), |
| 612 media::cast::test::BadNetwork().Pass(), | 612 media::cast::test::EvilNetwork().Pass(), |
| 613 NULL); | 613 NULL); |
| 614 } | 614 } |
| 615 receiver_end_point = proxy_end_point; | 615 receiver_end_point = proxy_end_point; |
| 616 } | 616 } |
| 617 | 617 |
| 618 std::string json_events; | 618 std::string json_events; |
| 619 ASSERT_TRUE(tracing::BeginTracing("test_fps,mirroring,cast_perf_test")); | 619 ASSERT_TRUE(tracing::BeginTracing("test_fps,mirroring,cast_perf_test")); |
| 620 const std::string page_url = base::StringPrintf( | 620 const std::string page_url = base::StringPrintf( |
| 621 "performance%d.html?port=%d", | 621 "performance%d.html?port=%d", |
| 622 getfps(), | 622 getfps(), |
| (...skipping 30 matching lines...) Expand all Loading... |
| 653 "ms"); | 653 "ms"); |
| 654 | 654 |
| 655 receiver->Analyze(test_name, GetSuffixForTestFlags()); | 655 receiver->Analyze(test_name, GetSuffixForTestFlags()); |
| 656 | 656 |
| 657 AnalyzeLatency(test_name, analyzer.get()); | 657 AnalyzeLatency(test_name, analyzer.get()); |
| 658 } | 658 } |
| 659 }; | 659 }; |
| 660 | 660 |
| 661 } // namespace | 661 } // namespace |
| 662 | 662 |
| 663 IN_PROC_BROWSER_TEST_P(CastV2PerformanceTest, Performance) { | 663 // crbug.com/356842 |
| 664 IN_PROC_BROWSER_TEST_P(CastV2PerformanceTest, DISABLED_Performance) { |
| 664 RunTest("CastV2Performance"); | 665 RunTest("CastV2Performance"); |
| 665 } | 666 } |
| 666 | 667 |
| 667 // Note: First argument is optional and intentionally left blank. | 668 // Note: First argument is optional and intentionally left blank. |
| 668 // (it's a prefix for the generated test cases) | 669 // (it's a prefix for the generated test cases) |
| 669 INSTANTIATE_TEST_CASE_P( | 670 INSTANTIATE_TEST_CASE_P( |
| 670 , | 671 , |
| 671 CastV2PerformanceTest, | 672 CastV2PerformanceTest, |
| 672 testing::Values( | 673 testing::Values( |
| 673 kUseGpu | k24fps, | 674 kUseGpu | k24fps, |
| 674 kUseGpu | k30fps, | 675 kUseGpu | k30fps, |
| 675 kUseGpu | k60fps, | 676 kUseGpu | k60fps, |
| 676 kUseGpu | k24fps | kDisableVsync, | 677 kUseGpu | k24fps | kDisableVsync, |
| 677 kUseGpu | k30fps | kProxyWifi, | 678 kUseGpu | k30fps | kProxyWifi, |
| 678 kUseGpu | k30fps | kProxyBad, | 679 kUseGpu | k30fps | kProxyEvil, |
| 679 kUseGpu | k30fps | kSlowClock, | 680 kUseGpu | k30fps | kSlowClock, |
| 680 kUseGpu | k30fps | kFastClock)); | 681 kUseGpu | k30fps | kFastClock)); |
| OLD | NEW |