Index: base/debug/trace_event_unittest.cc |
diff --git a/base/debug/trace_event_unittest.cc b/base/debug/trace_event_unittest.cc |
index 000097e16e0c58f739cf9376d955ef58bf728261..401aa4f8ba5cf96fc62261912b95b755e976ca38 100644 |
--- a/base/debug/trace_event_unittest.cc |
+++ b/base/debug/trace_event_unittest.cc |
@@ -1802,9 +1802,9 @@ TEST_F(TraceEventTestFixture, TraceSampling) { |
WaitableEvent* sampled = new WaitableEvent(false, false); |
TraceLog::GetInstance()->InstallWaitableEventForSamplingTesting(sampled); |
- TRACE_EVENT_SAMPLE_STATE(1, "cc", "Stuff"); |
+ TRACE_EVENT_SAMPLING_STATE0("cc", "Stuff"); |
sampled->Wait(); |
- TRACE_EVENT_SAMPLE_STATE(1, "cc", "Things"); |
+ TRACE_EVENT_SAMPLING_STATE0("cc", "Things"); |
sampled->Wait(); |
EndTraceAndFlush(); |
@@ -1815,6 +1815,49 @@ TEST_F(TraceEventTestFixture, TraceSampling) { |
} |
#endif // !CHROME_SPLIT_DLL |
+// Not supported in split dll build. http://crbug.com/237249 |
+#if !defined(CHROME_SPLIT_DLL) |
+TEST_F(TraceEventTestFixture, TraceSamplingScope) { |
+ ManualTestSetUp(); |
+ |
+ event_watch_notification_ = 0; |
+ TraceLog::GetInstance()->SetEnabled( |
+ CategoryFilter("*"), |
+ TraceLog::Options(TraceLog::RECORD_UNTIL_FULL | |
+ TraceLog::ENABLE_SAMPLING)); |
+ |
+ WaitableEvent* sampled = new WaitableEvent(false, false); |
+ TraceLog::GetInstance()->InstallWaitableEventForSamplingTesting(sampled); |
+ |
+ TraceEventSamplingState0Scope scope("AAA"); |
+ sampled->Wait(); |
+ { |
+ EXPECT_STREQ(TraceEventSamplingState0Scope::current(), "AAA"); |
+ TraceEventSamplingState0Scope scope2("BBB"); |
+ sampled->Wait(); |
+ EXPECT_STREQ(TraceEventSamplingState0Scope::current(), "BBB"); |
+ } |
+ sampled->Wait(); |
+ { |
+ EXPECT_STREQ(TraceEventSamplingState0Scope::current(), "AAA"); |
+ TraceEventSamplingState0Scope scope2("CCC"); |
+ sampled->Wait(); |
+ EXPECT_STREQ(TraceEventSamplingState0Scope::current(), "CCC"); |
+ } |
+ sampled->Wait(); |
+ { |
+ EXPECT_STREQ(TraceEventSamplingState0Scope::current(), "AAA"); |
+ TraceEventSamplingState0Scope::forceCurrent("DDD"); |
+ sampled->Wait(); |
+ EXPECT_STREQ(TraceEventSamplingState0Scope::current(), "DDD"); |
+ } |
+ sampled->Wait(); |
+ EXPECT_STREQ(TraceEventSamplingState0Scope::current(), "DDD"); |
+ |
+ EndTraceAndFlush(); |
+} |
+#endif // !CHROME_SPLIT_DLL |
+ |
class MyData : public base::debug::ConvertableToTraceFormat { |
public: |
MyData() {} |