| Index: apps/benchmark/measurements_unittest.cc
|
| diff --git a/apps/benchmark/measurements_unittest.cc b/apps/benchmark/measurements_unittest.cc
|
| index d47ce45a1f9d4641eafa9c64bdf7ecf51aad6391..3401f0e72a814b08927d31f0e363fef19b0c9faa 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());
|
| @@ -43,31 +48,39 @@ class MeasurementsTest : public ::testing::Test {
|
| std::vector<Event> reversed_;
|
| };
|
|
|
| +static double MeasureSingle(const Measurements& measurements,
|
| + const Measurement& measurement) {
|
| + std::vector<double> result;
|
| + measurements.Measure(measurement, &result);
|
| + EXPECT_EQ(1U, result.size());
|
| + return result[0];
|
| +}
|
| +
|
| TEST_F(MeasurementsTest, MeasureTimeUntil) {
|
| // 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));
|
|
|
| - EXPECT_DOUBLE_EQ(0.008,
|
| - regular.Measure(Measurement(MeasurementType::TIME_UNTIL,
|
| - EventSpec("a", "some"))));
|
| - EXPECT_DOUBLE_EQ(0.008,
|
| - reversed.Measure(Measurement(MeasurementType::TIME_UNTIL,
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.008, MeasureSingle(regular, Measurement(MeasurementType::TIME_UNTIL,
|
| EventSpec("a", "some"))));
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.008, MeasureSingle(reversed, Measurement(MeasurementType::TIME_UNTIL,
|
| + EventSpec("a", "some"))));
|
|
|
| - EXPECT_DOUBLE_EQ(0.01,
|
| - regular.Measure(Measurement(MeasurementType::TIME_UNTIL,
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.01, MeasureSingle(regular, Measurement(MeasurementType::TIME_UNTIL,
|
| EventSpec("a", "other"))));
|
| - EXPECT_DOUBLE_EQ(0.01,
|
| - reversed.Measure(Measurement(MeasurementType::TIME_UNTIL,
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.01, MeasureSingle(reversed, Measurement(MeasurementType::TIME_UNTIL,
|
| EventSpec("a", "other"))));
|
|
|
| - EXPECT_DOUBLE_EQ(0.001,
|
| - regular.Measure(Measurement(MeasurementType::TIME_UNTIL,
|
| - EventSpec("b", "some"))));
|
| - EXPECT_DOUBLE_EQ(0.001,
|
| - reversed.Measure(Measurement(MeasurementType::TIME_UNTIL,
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.001, MeasureSingle(regular, Measurement(MeasurementType::TIME_UNTIL,
|
| EventSpec("b", "some"))));
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.001, MeasureSingle(reversed, Measurement(MeasurementType::TIME_UNTIL,
|
| + EventSpec("b", "some"))));
|
| }
|
|
|
| TEST_F(MeasurementsTest, MeasureTimeBetween) {
|
| @@ -75,39 +88,47 @@ TEST_F(MeasurementsTest, MeasureTimeBetween) {
|
| Measurements regular(events_, base::TimeTicks::FromInternalValue(2));
|
| Measurements reversed(reversed_, base::TimeTicks::FromInternalValue(2));
|
|
|
| - EXPECT_DOUBLE_EQ(0.0, regular.Measure(Measurement(
|
| - MeasurementType::TIME_BETWEEN,
|
| - EventSpec("a", "some"), EventSpec("a", "some"))));
|
| - EXPECT_DOUBLE_EQ(0.0, reversed.Measure(Measurement(
|
| - MeasurementType::TIME_BETWEEN,
|
| - EventSpec("a", "some"), EventSpec("a", "some"))));
|
| -
|
| EXPECT_DOUBLE_EQ(
|
| - 0.01, regular.Measure(Measurement(
|
| - MeasurementType::TIME_BETWEEN, EventSpec("instant", "another"),
|
| - EventSpec("multi_occurence", "another"))));
|
| + 0.0, MeasureSingle(regular, Measurement(MeasurementType::TIME_BETWEEN,
|
| + EventSpec("a", "some"),
|
| + EventSpec("a", "some"))));
|
| EXPECT_DOUBLE_EQ(
|
| - 0.01, reversed.Measure(Measurement(
|
| - MeasurementType::TIME_BETWEEN, EventSpec("instant", "another"),
|
| - EventSpec("multi_occurence", "another"))));
|
| + 0.0, MeasureSingle(reversed, Measurement(MeasurementType::TIME_BETWEEN,
|
| + EventSpec("a", "some"),
|
| + EventSpec("a", "some"))));
|
|
|
| EXPECT_DOUBLE_EQ(
|
| - -1.0, regular.Measure(Measurement(MeasurementType::TIME_BETWEEN,
|
| - EventSpec("multi_occurence", "another"),
|
| - EventSpec("instant", "another"))));
|
| - EXPECT_DOUBLE_EQ(-1.0, reversed.Measure(Measurement(
|
| - MeasurementType::TIME_BETWEEN,
|
| - EventSpec("multi_occurence", "another"),
|
| - EventSpec("instant", "another"))));
|
| + 0.01, MeasureSingle(
|
| + regular, Measurement(MeasurementType::TIME_BETWEEN,
|
| + EventSpec("instant", "another"),
|
| + EventSpec("multi_occurence", "another"))));
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.01, MeasureSingle(reversed, Measurement(MeasurementType::TIME_BETWEEN,
|
| + EventSpec("instant", "another"),
|
| + EventSpec("multi_occurence",
|
| + "another"))));
|
|
|
| EXPECT_DOUBLE_EQ(
|
| - 0.01, regular.Measure(Measurement(MeasurementType::TIME_BETWEEN,
|
| - EventSpec("a", "some"),
|
| - EventSpec("instant", "another"))));
|
| + -1.0, MeasureSingle(regular,
|
| + Measurement(MeasurementType::TIME_BETWEEN,
|
| + EventSpec("multi_occurence", "another"),
|
| + EventSpec("instant", "another"))));
|
| + EXPECT_DOUBLE_EQ(
|
| + -1.0, MeasureSingle(reversed,
|
| + Measurement(MeasurementType::TIME_BETWEEN,
|
| + EventSpec("multi_occurence", "another"),
|
| + EventSpec("instant", "another"))));
|
| +
|
| EXPECT_DOUBLE_EQ(
|
| - 0.01, reversed.Measure(Measurement(MeasurementType::TIME_BETWEEN,
|
| + 0.01,
|
| + MeasureSingle(regular, Measurement(MeasurementType::TIME_BETWEEN,
|
| EventSpec("a", "some"),
|
| EventSpec("instant", "another"))));
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.01,
|
| + MeasureSingle(reversed, Measurement(MeasurementType::TIME_BETWEEN,
|
| + EventSpec("a", "some"),
|
| + EventSpec("instant", "another"))));
|
| }
|
|
|
| TEST_F(MeasurementsTest, MeasureAvgDuration) {
|
| @@ -115,26 +136,56 @@ TEST_F(MeasurementsTest, MeasureAvgDuration) {
|
| Measurements regular(events_, base::TimeTicks::FromInternalValue(2));
|
| Measurements reversed(reversed_, base::TimeTicks::FromInternalValue(2));
|
|
|
| - EXPECT_DOUBLE_EQ(0.003,
|
| - regular.Measure(Measurement(MeasurementType::AVG_DURATION,
|
| - EventSpec("a", "some"))));
|
| - EXPECT_DOUBLE_EQ(0.003,
|
| - reversed.Measure(Measurement(MeasurementType::AVG_DURATION,
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.003, MeasureSingle(regular, Measurement(MeasurementType::AVG_DURATION,
|
| EventSpec("a", "some"))));
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.003, MeasureSingle(reversed, Measurement(MeasurementType::AVG_DURATION,
|
| + EventSpec("a", "some"))));
|
|
|
| - EXPECT_DOUBLE_EQ(0.008,
|
| - regular.Measure(Measurement(MeasurementType::AVG_DURATION,
|
| - EventSpec("a", "other"))));
|
| - EXPECT_DOUBLE_EQ(0.008,
|
| - reversed.Measure(Measurement(MeasurementType::AVG_DURATION,
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.008, MeasureSingle(regular, Measurement(MeasurementType::AVG_DURATION,
|
| EventSpec("a", "other"))));
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.008, MeasureSingle(reversed, Measurement(MeasurementType::AVG_DURATION,
|
| + EventSpec("a", "other"))));
|
|
|
| - EXPECT_DOUBLE_EQ(0.024,
|
| - regular.Measure(Measurement(MeasurementType::AVG_DURATION,
|
| - EventSpec("b", "some"))));
|
| - EXPECT_DOUBLE_EQ(0.024,
|
| - reversed.Measure(Measurement(MeasurementType::AVG_DURATION,
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.024, MeasureSingle(regular, Measurement(MeasurementType::AVG_DURATION,
|
| EventSpec("b", "some"))));
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.024, MeasureSingle(reversed, Measurement(MeasurementType::AVG_DURATION,
|
| + EventSpec("b", "some"))));
|
| +}
|
| +
|
| +TEST_F(MeasurementsTest, MeasureMedianDuration) {
|
| + // 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));
|
| +
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.011,
|
| + MeasureSingle(regular, Measurement(MeasurementType::MEDIAN_DURATION,
|
| + EventSpec("c", "some"))));
|
| + EXPECT_DOUBLE_EQ(
|
| + 0.011,
|
| + MeasureSingle(reversed, Measurement(MeasurementType::MEDIAN_DURATION,
|
| + EventSpec("c", "some"))));
|
| +}
|
| +
|
| +TEST_F(MeasurementsTest, MeasureDistDuration) {
|
| + // 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));
|
| +
|
| + std::vector<double> results;
|
| + regular.Measure(
|
| + Measurement(MeasurementType::DIST_DURATION, EventSpec("c", "some")),
|
| + &results);
|
| + EXPECT_EQ(3U, results.size());
|
| + EXPECT_DOUBLE_EQ(0.010, results[0]);
|
| + EXPECT_DOUBLE_EQ(0.011, results[1]);
|
| + EXPECT_DOUBLE_EQ(0.012, results[2]);
|
| }
|
|
|
| TEST_F(MeasurementsTest, NoMatchingEvent) {
|
| @@ -144,23 +195,24 @@ TEST_F(MeasurementsTest, NoMatchingEvent) {
|
| Measurements regular(events_, base::TimeTicks::FromInternalValue(0));
|
| Measurements reversed(reversed_, base::TimeTicks::FromInternalValue(0));
|
|
|
| - EXPECT_DOUBLE_EQ(-1.0,
|
| - empty.Measure(Measurement(MeasurementType::AVG_DURATION,
|
| + EXPECT_DOUBLE_EQ(
|
| + -1.0, MeasureSingle(empty, Measurement(MeasurementType::AVG_DURATION,
|
| EventSpec("miss", "cat"))));
|
| - EXPECT_DOUBLE_EQ(-1.0,
|
| - regular.Measure(Measurement(MeasurementType::AVG_DURATION,
|
| + EXPECT_DOUBLE_EQ(
|
| + -1.0, MeasureSingle(regular, Measurement(MeasurementType::AVG_DURATION,
|
| EventSpec("miss", "cat"))));
|
| - EXPECT_DOUBLE_EQ(-1.0,
|
| - reversed.Measure(Measurement(MeasurementType::AVG_DURATION,
|
| + EXPECT_DOUBLE_EQ(
|
| + -1.0, MeasureSingle(reversed, Measurement(MeasurementType::AVG_DURATION,
|
| EventSpec("miss", "cat"))));
|
|
|
| - EXPECT_DOUBLE_EQ(-1.0, empty.Measure(Measurement(MeasurementType::TIME_UNTIL,
|
| - EventSpec("miss", "cat"))));
|
| EXPECT_DOUBLE_EQ(-1.0,
|
| - regular.Measure(Measurement(MeasurementType::TIME_UNTIL,
|
| + MeasureSingle(empty, Measurement(MeasurementType::TIME_UNTIL,
|
| + EventSpec("miss", "cat"))));
|
| + EXPECT_DOUBLE_EQ(
|
| + -1.0, MeasureSingle(regular, Measurement(MeasurementType::TIME_UNTIL,
|
| EventSpec("miss", "cat"))));
|
| - EXPECT_DOUBLE_EQ(-1.0,
|
| - reversed.Measure(Measurement(MeasurementType::TIME_UNTIL,
|
| + EXPECT_DOUBLE_EQ(
|
| + -1.0, MeasureSingle(reversed, Measurement(MeasurementType::TIME_UNTIL,
|
| EventSpec("miss", "cat"))));
|
| }
|
|
|
|
|