OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/bind.h" | 5 #include "base/bind.h" |
6 #include "base/test/trace_event_analyzer.h" | 6 #include "base/test/trace_event_analyzer.h" |
7 #include "testing/gmock/include/gmock/gmock.h" | 7 #include "testing/gmock/include/gmock/gmock.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
9 | 9 |
10 namespace trace_analyzer { | 10 namespace trace_analyzer { |
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
520 EXPECT_TRUE((Query::Double(1.0) == Query::Uint(1u)).Evaluate(dummy)); | 520 EXPECT_TRUE((Query::Double(1.0) == Query::Uint(1u)).Evaluate(dummy)); |
521 EXPECT_TRUE((Query::Double(1.0) == Query::Int(1)).Evaluate(dummy)); | 521 EXPECT_TRUE((Query::Double(1.0) == Query::Int(1)).Evaluate(dummy)); |
522 EXPECT_TRUE((Query::Double(-1.0) == Query::Int(-1)).Evaluate(dummy)); | 522 EXPECT_TRUE((Query::Double(-1.0) == Query::Int(-1)).Evaluate(dummy)); |
523 EXPECT_TRUE((Query::Double(1.0) == Query::Double(1.0f)).Evaluate(dummy)); | 523 EXPECT_TRUE((Query::Double(1.0) == Query::Double(1.0f)).Evaluate(dummy)); |
524 EXPECT_TRUE((Query::Bool(true) == Query::Int(1)).Evaluate(dummy)); | 524 EXPECT_TRUE((Query::Bool(true) == Query::Int(1)).Evaluate(dummy)); |
525 EXPECT_TRUE((Query::Bool(false) == Query::Int(0)).Evaluate(dummy)); | 525 EXPECT_TRUE((Query::Bool(false) == Query::Int(0)).Evaluate(dummy)); |
526 EXPECT_TRUE((Query::Bool(true) == Query::Double(1.0f)).Evaluate(dummy)); | 526 EXPECT_TRUE((Query::Bool(true) == Query::Double(1.0f)).Evaluate(dummy)); |
527 EXPECT_TRUE((Query::Bool(false) == Query::Double(0.0f)).Evaluate(dummy)); | 527 EXPECT_TRUE((Query::Bool(false) == Query::Double(0.0f)).Evaluate(dummy)); |
528 } | 528 } |
529 | 529 |
| 530 // Test GetRateStats. |
| 531 TEST_F(TraceEventAnalyzerTest, RateStats) { |
| 532 using namespace trace_analyzer; |
| 533 |
| 534 std::vector<TraceEvent> events; |
| 535 events.reserve(100); |
| 536 TraceAnalyzer::TraceEventVector event_ptrs; |
| 537 TraceEvent event; |
| 538 event.timestamp = 0.0; |
| 539 double little_delta = 1.0; |
| 540 double big_delta = 10.0; |
| 541 TraceAnalyzer::Stats stats; |
| 542 |
| 543 for (int i = 0; i < 10; ++i) { |
| 544 event.timestamp += little_delta; |
| 545 events.push_back(event); |
| 546 event_ptrs.push_back(&events.back()); |
| 547 } |
| 548 |
| 549 ASSERT_TRUE(TraceAnalyzer::GetRateStats(event_ptrs, &stats)); |
| 550 EXPECT_EQ(little_delta, stats.mean_us); |
| 551 EXPECT_EQ(little_delta, stats.min_us); |
| 552 EXPECT_EQ(little_delta, stats.max_us); |
| 553 EXPECT_EQ(0.0, stats.standard_deviation_us); |
| 554 |
| 555 event.timestamp += big_delta; |
| 556 events.push_back(event); |
| 557 event_ptrs.push_back(&events.back()); |
| 558 |
| 559 ASSERT_TRUE(TraceAnalyzer::GetRateStats(event_ptrs, &stats)); |
| 560 EXPECT_LT(little_delta, stats.mean_us); |
| 561 EXPECT_EQ(little_delta, stats.min_us); |
| 562 EXPECT_EQ(big_delta, stats.max_us); |
| 563 EXPECT_LT(0.0, stats.standard_deviation_us); |
| 564 |
| 565 TraceAnalyzer::TraceEventVector few_event_ptrs; |
| 566 few_event_ptrs.push_back(&event); |
| 567 few_event_ptrs.push_back(&event); |
| 568 ASSERT_FALSE(TraceAnalyzer::GetRateStats(few_event_ptrs, &stats)); |
| 569 few_event_ptrs.push_back(&event); |
| 570 ASSERT_TRUE(TraceAnalyzer::GetRateStats(few_event_ptrs, &stats)); |
| 571 } |
| 572 |
530 | 573 |
531 } // namespace trace_analyzer | 574 } // namespace trace_analyzer |
532 | 575 |
OLD | NEW |