| Index: base/test/trace_event_analyzer_unittest.cc
|
| diff --git a/base/test/trace_event_analyzer_unittest.cc b/base/test/trace_event_analyzer_unittest.cc
|
| index 583785083adf583759bc4e209de32e6b556de713..0bf644a44460de4c21b201f2d224ff442fa4468c 100644
|
| --- a/base/test/trace_event_analyzer_unittest.cc
|
| +++ b/base/test/trace_event_analyzer_unittest.cc
|
| @@ -527,6 +527,49 @@ TEST_F(TraceEventAnalyzerTest, Literals) {
|
| EXPECT_TRUE((Query::Bool(false) == Query::Double(0.0f)).Evaluate(dummy));
|
| }
|
|
|
| +// Test GetRateStats.
|
| +TEST_F(TraceEventAnalyzerTest, RateStats) {
|
| + using namespace trace_analyzer;
|
| +
|
| + std::vector<TraceEvent> events;
|
| + events.reserve(100);
|
| + TraceAnalyzer::TraceEventVector event_ptrs;
|
| + TraceEvent event;
|
| + event.timestamp = 0.0;
|
| + double little_delta = 1.0;
|
| + double big_delta = 10.0;
|
| + TraceAnalyzer::Stats stats;
|
| +
|
| + for (int i = 0; i < 10; ++i) {
|
| + event.timestamp += little_delta;
|
| + events.push_back(event);
|
| + event_ptrs.push_back(&events.back());
|
| + }
|
| +
|
| + ASSERT_TRUE(TraceAnalyzer::GetRateStats(event_ptrs, &stats));
|
| + EXPECT_EQ(little_delta, stats.mean_us);
|
| + EXPECT_EQ(little_delta, stats.min_us);
|
| + EXPECT_EQ(little_delta, stats.max_us);
|
| + EXPECT_EQ(0.0, stats.standard_deviation_us);
|
| +
|
| + event.timestamp += big_delta;
|
| + events.push_back(event);
|
| + event_ptrs.push_back(&events.back());
|
| +
|
| + ASSERT_TRUE(TraceAnalyzer::GetRateStats(event_ptrs, &stats));
|
| + EXPECT_LT(little_delta, stats.mean_us);
|
| + EXPECT_EQ(little_delta, stats.min_us);
|
| + EXPECT_EQ(big_delta, stats.max_us);
|
| + EXPECT_LT(0.0, stats.standard_deviation_us);
|
| +
|
| + TraceAnalyzer::TraceEventVector few_event_ptrs;
|
| + few_event_ptrs.push_back(&event);
|
| + few_event_ptrs.push_back(&event);
|
| + ASSERT_FALSE(TraceAnalyzer::GetRateStats(few_event_ptrs, &stats));
|
| + few_event_ptrs.push_back(&event);
|
| + ASSERT_TRUE(TraceAnalyzer::GetRateStats(few_event_ptrs, &stats));
|
| +}
|
| +
|
|
|
| } // namespace trace_analyzer
|
|
|
|
|