| Index: base/debug/trace_event_unittest.cc
|
| diff --git a/base/debug/trace_event_unittest.cc b/base/debug/trace_event_unittest.cc
|
| index d71b242e13ac8adddfb2d502b8f48000ad848c89..1753b24949a4e88a9ad97a034595e18edee12a30 100644
|
| --- a/base/debug/trace_event_unittest.cc
|
| +++ b/base/debug/trace_event_unittest.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/bind.h"
|
| #include "base/command_line.h"
|
| #include "base/debug/trace_event.h"
|
| +#include "base/debug/trace_event_synthetic_delay.h"
|
| #include "base/json/json_reader.h"
|
| #include "base/json/json_writer.h"
|
| #include "base/memory/ref_counted_memory.h"
|
| @@ -2634,5 +2635,48 @@ TEST_F(TraceEventTestFixture, TimeOffset) {
|
| }
|
| }
|
|
|
| +TEST_F(TraceEventTestFixture, ConfigureSyntheticDelays) {
|
| + BeginSpecificTrace("DELAY(test.Delay;0.05)");
|
| +
|
| + base::TimeTicks start = base::TimeTicks::Now();
|
| + {
|
| + TRACE_EVENT_SYNTHETIC_DELAY("test.Delay");
|
| + }
|
| + base::TimeDelta duration = base::TimeTicks::Now() - start;
|
| + EXPECT_GE(duration.InMilliseconds(), 50);
|
| +
|
| + EndTraceAndFlush();
|
| +}
|
| +
|
| +TEST_F(TraceEventTestFixture, BadSyntheticDelayConfigurations) {
|
| + const char* configs[] = {
|
| + "",
|
| + "DELAY(",
|
| + "DELAY(;",
|
| + "DELAY(;)",
|
| + "DELAY(test.Delay)",
|
| + "DELAY(test.Delay;)"
|
| + };
|
| + for (size_t i = 0; i < arraysize(configs); i++) {
|
| + BeginSpecificTrace(configs[i]);
|
| + EndTraceAndFlush();
|
| + CategoryFilter filter = TraceLog::GetInstance()->GetCurrentCategoryFilter();
|
| + EXPECT_EQ(0u, filter.GetSyntheticDelayValues().size());
|
| + }
|
| +}
|
| +
|
| +TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationMerging) {
|
| + CategoryFilter filter1("DELAY(test.Delay1;16)");
|
| + CategoryFilter filter2("DELAY(test.Delay2;32)");
|
| + filter1.Merge(filter2);
|
| + EXPECT_EQ(2u, filter1.GetSyntheticDelayValues().size());
|
| +}
|
| +
|
| +TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) {
|
| + const char config[] = "DELAY(test.Delay;16;oneshot)";
|
| + CategoryFilter filter(config);
|
| + EXPECT_EQ(config, filter.ToString());
|
| +}
|
| +
|
| } // namespace debug
|
| } // namespace base
|
|
|