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..17ec0bd0c5bb9c69a231d46bdef3e51b147ad7d7 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\0name"); |
+ sampled->Wait(); |
+ { |
+ EXPECT_STREQ(TraceEventSamplingState0Scope::Current(), "AAA"); |
+ TraceEventSamplingState0Scope scope2("BBB\0name"); |
+ sampled->Wait(); |
+ EXPECT_STREQ(TraceEventSamplingState0Scope::Current(), "BBB"); |
+ } |
+ sampled->Wait(); |
+ { |
+ EXPECT_STREQ(TraceEventSamplingState0Scope::Current(), "AAA"); |
+ TraceEventSamplingState0Scope scope2("CCC\0name"); |
+ sampled->Wait(); |
+ EXPECT_STREQ(TraceEventSamplingState0Scope::Current(), "CCC"); |
+ } |
+ sampled->Wait(); |
+ { |
+ EXPECT_STREQ(TraceEventSamplingState0Scope::Current(), "AAA"); |
+ TraceEventSamplingState0Scope::Set("DDD\0name"); |
+ 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() {} |