diff options
Diffstat (limited to 'base/debug/trace_event_unittest.cc')
-rw-r--r-- | base/debug/trace_event_unittest.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/base/debug/trace_event_unittest.cc b/base/debug/trace_event_unittest.cc index fd6bbd2..e8e6c8a 100644 --- a/base/debug/trace_event_unittest.cc +++ b/base/debug/trace_event_unittest.cc @@ -1494,5 +1494,29 @@ TEST_F(TraceEventTestFixture, TraceOptionsParsing) { TraceLog::TraceOptionsFromString("record-until-full")); } +TEST_F(TraceEventTestFixture, TraceSampling) { + ManualTestSetUp(); + + event_watch_notification_ = 0; + TraceLog::GetInstance()->SetEnabled( + std::string("*"), + TraceLog::Options(TraceLog::RECORD_UNTIL_FULL | + TraceLog::ENABLE_SAMPLING)); + + WaitableEvent* sampled = new WaitableEvent(false, false); + TraceLog::GetInstance()->InstallWaitableEventForSamplingTesting(sampled); + + TRACE_EVENT_SAMPLE_STATE(1, "cc", "Stuff"); + sampled->Wait(); + TRACE_EVENT_SAMPLE_STATE(1, "cc", "Things"); + sampled->Wait(); + + EndTraceAndFlush(); + + // Make sure we hit at least once. + EXPECT_TRUE(FindNamePhase("Stuff", "P")); + EXPECT_TRUE(FindNamePhase("Things", "P")); +} + } // namespace debug } // namespace base |