Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3242)

Unified Diff: base/debug/trace_event_synthetic_delay_unittest.cc

Issue 83183005: Add synthetic delay points for latency testing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Begin delay on one thread and end it on another. Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/debug/trace_event_synthetic_delay_unittest.cc
diff --git a/base/debug/trace_event_synthetic_delay_unittest.cc b/base/debug/trace_event_synthetic_delay_unittest.cc
index 710c904c8fa3c35e173ff389194b0969714fb9a8..3ab9d98eaef2f32e0b15c48dcb6ad6eb95169684 100644
--- a/base/debug/trace_event_synthetic_delay_unittest.cc
+++ b/base/debug/trace_event_synthetic_delay_unittest.cc
@@ -44,15 +44,15 @@ class TraceEventSyntheticDelayTest : public testing::Test,
return (Now() - start).InMilliseconds();
}
- int AsyncTestFunctionActivate() {
+ int AsyncTestFunctionBegin() {
base::TimeTicks start = Now();
- { TRACE_EVENT_SYNTHETIC_DELAY_ACTIVATE("test.AsyncDelay"); }
+ { TRACE_EVENT_SYNTHETIC_DELAY_BEGIN("test.AsyncDelay"); }
return (Now() - start).InMilliseconds();
}
- int AsyncTestFunctionApply() {
+ int AsyncTestFunctionEnd() {
base::TimeTicks start = Now();
- { TRACE_EVENT_SYNTHETIC_DELAY_APPLY("test.AsyncDelay"); }
+ { TRACE_EVENT_SYNTHETIC_DELAY_END("test.AsyncDelay"); }
return (Now() - start).InMilliseconds();
}
@@ -90,35 +90,45 @@ TEST_F(TraceEventSyntheticDelayTest, AlternatingDelay) {
TEST_F(TraceEventSyntheticDelayTest, AsyncDelay) {
ConfigureDelay("test.AsyncDelay");
- EXPECT_LT(AsyncTestFunctionActivate(), kShortDurationMs);
- EXPECT_GE(AsyncTestFunctionApply(), kTargetDurationMs / 2);
+ EXPECT_LT(AsyncTestFunctionBegin(), kShortDurationMs);
+ EXPECT_GE(AsyncTestFunctionEnd(), kTargetDurationMs / 2);
}
TEST_F(TraceEventSyntheticDelayTest, AsyncDelayExceeded) {
ConfigureDelay("test.AsyncDelay");
- EXPECT_LT(AsyncTestFunctionActivate(), kShortDurationMs);
+ EXPECT_LT(AsyncTestFunctionBegin(), kShortDurationMs);
AdvanceTime(base::TimeDelta::FromMilliseconds(kTargetDurationMs));
- EXPECT_LT(AsyncTestFunctionApply(), kShortDurationMs);
+ EXPECT_LT(AsyncTestFunctionEnd(), kShortDurationMs);
}
TEST_F(TraceEventSyntheticDelayTest, AsyncDelayNoActivation) {
ConfigureDelay("test.AsyncDelay");
- EXPECT_LT(AsyncTestFunctionApply(), kShortDurationMs);
+ EXPECT_LT(AsyncTestFunctionEnd(), kShortDurationMs);
}
-TEST_F(TraceEventSyntheticDelayTest, AsyncDelayMultipleActivations) {
+TEST_F(TraceEventSyntheticDelayTest, AsyncDelayNestedActivations) {
ConfigureDelay("test.AsyncDelay");
- EXPECT_LT(AsyncTestFunctionActivate(), kShortDurationMs);
- AdvanceTime(base::TimeDelta::FromMilliseconds(kTargetDurationMs));
- EXPECT_LT(AsyncTestFunctionActivate(), kShortDurationMs);
- EXPECT_LT(AsyncTestFunctionApply(), kShortDurationMs);
+ EXPECT_LT(AsyncTestFunctionBegin(), kShortDurationMs);
+ EXPECT_LT(AsyncTestFunctionBegin(), kShortDurationMs);
+ EXPECT_LT(AsyncTestFunctionEnd(), kShortDurationMs);
+ EXPECT_GE(AsyncTestFunctionEnd(), kTargetDurationMs / 2);
}
TEST_F(TraceEventSyntheticDelayTest, ResetDelays) {
ConfigureDelay("test.Delay");
- ResetSyntheticDelays();
+ ResetTraceEventSyntheticDelays();
EXPECT_LT(TestFunction(), kShortDurationMs);
}
+TEST_F(TraceEventSyntheticDelayTest, ResetAndBeginMultiple) {
+ TraceEventSyntheticDelay* delay = ConfigureDelay("test.AsyncDelay");
+
+ delay->ResetAndBeginMultiple(0);
+ EXPECT_LT(AsyncTestFunctionEnd(), kShortDurationMs);
+
+ delay->ResetAndBeginMultiple(1);
+ EXPECT_GE(AsyncTestFunctionEnd(), kTargetDurationMs);
+}
+
} // namespace debug
} // namespace base

Powered by Google App Engine
This is Rietveld 408576698