Index: apps/benchmark/measurements_unittest.cc |
diff --git a/apps/benchmark/measurements_unittest.cc b/apps/benchmark/measurements_unittest.cc |
index d47ce45a1f9d4641eafa9c64bdf7ecf51aad6391..78827b92c6ecc4cbb5c06e438ff1a1163b515a46 100644 |
--- a/apps/benchmark/measurements_unittest.cc |
+++ b/apps/benchmark/measurements_unittest.cc |
@@ -22,18 +22,23 @@ base::TimeDelta Delta(int64 value) { |
class MeasurementsTest : public ::testing::Test { |
protected: |
void SetUp() override { |
- events_.resize(8); |
+ events_.resize(11); |
events_[0] = Event(EventType::COMPLETE, "a", "some", Ticks(10), Delta(2)); |
events_[1] = Event(EventType::COMPLETE, "a", "some", Ticks(11), Delta(4)); |
events_[2] = Event(EventType::COMPLETE, "a", "other", Ticks(12), Delta(8)); |
events_[3] = Event(EventType::COMPLETE, "b", "some", Ticks(3), Delta(16)); |
events_[4] = Event(EventType::COMPLETE, "b", "some", Ticks(13), Delta(32)); |
- events_[5] = |
+ |
+ events_[5] = Event(EventType::COMPLETE, "c", "some", Ticks(14), Delta(10)); |
+ events_[6] = Event(EventType::COMPLETE, "c", "some", Ticks(16), Delta(11)); |
+ events_[7] = Event(EventType::COMPLETE, "c", "some", Ticks(18), Delta(12)); |
+ |
+ events_[8] = |
Event(EventType::INSTANT, "instant", "another", Ticks(20), Delta(0)); |
- events_[6] = Event(EventType::INSTANT, "multi_occurence", "another", |
+ events_[9] = Event(EventType::INSTANT, "multi_occurence", "another", |
Ticks(30), Delta(0)); |
- events_[7] = Event(EventType::INSTANT, "multi_occurence", "another", |
- Ticks(40), Delta(0)); |
+ events_[10] = Event(EventType::INSTANT, "multi_occurence", "another", |
+ Ticks(40), Delta(0)); |
reversed_ = events_; |
reverse(reversed_.begin(), reversed_.end()); |
@@ -137,6 +142,33 @@ TEST_F(MeasurementsTest, MeasureAvgDuration) { |
EventSpec("b", "some")))); |
} |
+TEST_F(MeasurementsTest, MeasurePercentileDuration) { |
+ // The results should be the same regardless of the order of events. |
+ Measurements regular(events_, base::TimeTicks::FromInternalValue(2)); |
+ Measurements reversed(reversed_, base::TimeTicks::FromInternalValue(2)); |
+ |
+ Measurement measurement(MeasurementType::PERCENTILE_DURATION, |
+ EventSpec("c", "some")); |
+ measurement.param = 0.10; |
+ EXPECT_DOUBLE_EQ(0.010, regular.Measure(measurement)); |
+ measurement.param = 0.50; |
+ EXPECT_DOUBLE_EQ(0.011, regular.Measure(measurement)); |
+ measurement.param = 0.90; |
+ EXPECT_DOUBLE_EQ(0.012, regular.Measure(measurement)); |
+ |
+ measurement.param = 0.10; |
+ EXPECT_DOUBLE_EQ(0.010, reversed.Measure(measurement)); |
+ measurement.param = 0.50; |
+ EXPECT_DOUBLE_EQ(0.011, reversed.Measure(measurement)); |
+ measurement.param = 0.90; |
+ EXPECT_DOUBLE_EQ(0.012, reversed.Measure(measurement)); |
+ |
+ measurement.param = 1.0; |
+ EXPECT_DOUBLE_EQ(0.012, regular.Measure(measurement)); |
ppi
2015/10/12 23:15:20
Please make the measurements on the reversed list
zra
2015/10/13 03:35:39
Done.
|
+ measurement.param = 0.0; |
+ EXPECT_DOUBLE_EQ(0.010, regular.Measure(measurement)); |
+} |
+ |
TEST_F(MeasurementsTest, NoMatchingEvent) { |
// The results should be the same regardless of the order of events. |
Measurements empty(std::vector<Event>(), |