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..7313c189147fbd892b19ac77532fd272c4a2f729 100644 |
--- a/base/debug/trace_event_unittest.cc |
+++ b/base/debug/trace_event_unittest.cc |
@@ -1788,7 +1788,7 @@ TEST_F(TraceEventTestFixture, TraceOptionsParsing) { |
"record-continuously,enable-sampling")); |
} |
-// Not supported in split dll build. http://crbug.com/237249 |
+// Not supported in split dll build. http://crbug.com/256965 |
#if !defined(CHROME_SPLIT_DLL) |
TEST_F(TraceEventTestFixture, TraceSampling) { |
ManualTestSetUp(); |
@@ -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_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Stuff"); |
sampled->Wait(); |
- TRACE_EVENT_SAMPLE_STATE(1, "cc", "Things"); |
+ TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "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); |
+ |
+ TRACE_EVENT_SAMPLING_STATE_SCOPE("AAA", "name"); |
+ sampled->Wait(); |
+ { |
+ EXPECT_STREQ(TRACE_EVENT_SAMPLING_STATE_SCOPE_CURRENT(), "AAA"); |
+ TRACE_EVENT_SAMPLING_STATE_SCOPE("BBB", "name"); |
+ sampled->Wait(); |
+ EXPECT_STREQ(TRACE_EVENT_SAMPLING_STATE_SCOPE_CURRENT(), "BBB"); |
+ } |
+ sampled->Wait(); |
+ { |
+ EXPECT_STREQ(TRACE_EVENT_SAMPLING_STATE_SCOPE_CURRENT(), "AAA"); |
+ TRACE_EVENT_SAMPLING_STATE_SCOPE("CCC", "name"); |
+ sampled->Wait(); |
+ EXPECT_STREQ(TRACE_EVENT_SAMPLING_STATE_SCOPE_CURRENT(), "CCC"); |
+ } |
+ sampled->Wait(); |
+ { |
+ EXPECT_STREQ(TRACE_EVENT_SAMPLING_STATE_SCOPE_CURRENT(), "AAA"); |
+ TRACE_EVENT_SAMPLING_STATE_SCOPE_SET_CURRENT("DDD", "name"); |
+ sampled->Wait(); |
+ EXPECT_STREQ(TRACE_EVENT_SAMPLING_STATE_SCOPE_CURRENT(), "DDD"); |
+ } |
+ sampled->Wait(); |
+ EXPECT_STREQ(TRACE_EVENT_SAMPLING_STATE_SCOPE_CURRENT(), "DDD"); |
+ |
+ EndTraceAndFlush(); |
+} |
+#endif // !CHROME_SPLIT_DLL |
+ |
class MyData : public base::debug::ConvertableToTraceFormat { |
public: |
MyData() {} |