Chromium Code Reviews| Index: base/debug/trace_event_unittest.cc |
| diff --git a/base/debug/trace_event_unittest.cc b/base/debug/trace_event_unittest.cc |
| index ce076046cbbbd4e3192c60f3f1f1eaf13d4b20fe..dad2e6242f881b7f6cf300256e9619862f1984b8 100644 |
| --- a/base/debug/trace_event_unittest.cc |
| +++ b/base/debug/trace_event_unittest.cc |
| @@ -81,9 +81,10 @@ class TraceEventTestFixture : public testing::Test { |
| void BeginSpecificTrace(const std::string& filter) { |
| event_watch_notification_ = 0; |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter(filter), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter(filter), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
|
dsinclair
2014/07/30 14:25:25
RECORD_UNTIL_FULL is default, no need to pass. (an
nednguyen
2014/07/30 16:51:13
Done.
|
| } |
| void EndTraceAndFlush() { |
| @@ -882,9 +883,10 @@ void HighResSleepForTraceTest(base::TimeDelta elapsed) { |
| // Simple Test for emitting data and validating it was received. |
| TEST_F(TraceEventTestFixture, DataCaptured) { |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TraceWithAllMacroVariants(NULL); |
| @@ -906,9 +908,10 @@ TEST_F(TraceEventTestFixture, EnabledObserverFiresOnEnable) { |
| EXPECT_CALL(observer, OnTraceLogEnabled()) |
| .Times(1); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| testing::Mock::VerifyAndClear(&observer); |
| EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled()); |
| @@ -918,9 +921,10 @@ TEST_F(TraceEventTestFixture, EnabledObserverFiresOnEnable) { |
| } |
| TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnSecondEnable) { |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| testing::StrictMock<MockEnabledStateChangedObserver> observer; |
| TraceLog::GetInstance()->AddEnabledStateObserver(&observer); |
| @@ -929,9 +933,10 @@ TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnSecondEnable) { |
| .Times(0); |
| EXPECT_CALL(observer, OnTraceLogDisabled()) |
| .Times(0); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| testing::Mock::VerifyAndClear(&observer); |
| EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled()); |
| @@ -943,12 +948,14 @@ TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnSecondEnable) { |
| TEST_F(TraceEventTestFixture, EnabledObserverFiresOnFirstDisable) { |
| CategoryFilter cf_inc_all("*"); |
| - TraceLog::GetInstance()->SetEnabled(cf_inc_all, |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| - TraceLog::GetInstance()->SetEnabled(cf_inc_all, |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + cf_inc_all, |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| + TraceLog::GetInstance()->SetEnabled( |
| + cf_inc_all, |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| testing::StrictMock<MockEnabledStateChangedObserver> observer; |
| TraceLog::GetInstance()->AddEnabledStateObserver(&observer); |
| @@ -966,9 +973,10 @@ TEST_F(TraceEventTestFixture, EnabledObserverFiresOnFirstDisable) { |
| } |
| TEST_F(TraceEventTestFixture, EnabledObserverFiresOnDisable) { |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| MockEnabledStateChangedObserver observer; |
| TraceLog::GetInstance()->AddEnabledStateObserver(&observer); |
| @@ -1003,9 +1011,10 @@ TEST_F(TraceEventTestFixture, ObserversFireAfterStateChange) { |
| AfterStateChangeEnabledStateObserver observer; |
| TraceLog::GetInstance()->AddEnabledStateObserver(&observer); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled()); |
| TraceLog::GetInstance()->SetDisabled(); |
| @@ -1036,9 +1045,10 @@ TEST_F(TraceEventTestFixture, SelfRemovingObserver) { |
| TraceLog::GetInstance()->AddEnabledStateObserver(&observer); |
| EXPECT_EQ(1u, TraceLog::GetInstance()->GetObserverCountForTest()); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TraceLog::GetInstance()->SetDisabled(); |
| // The observer removed itself on disable. |
| EXPECT_EQ(0u, TraceLog::GetInstance()->GetObserverCountForTest()); |
| @@ -1052,9 +1062,10 @@ bool IsNewTrace() { |
| TEST_F(TraceEventTestFixture, NewTraceRecording) { |
| ASSERT_FALSE(IsNewTrace()); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| // First call to IsNewTrace() should succeed. But, the second shouldn't. |
| ASSERT_TRUE(IsNewTrace()); |
| ASSERT_FALSE(IsNewTrace()); |
| @@ -1065,9 +1076,10 @@ TEST_F(TraceEventTestFixture, NewTraceRecording) { |
| // Start another trace. IsNewTrace() should become true again, briefly, as |
| // before. |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| ASSERT_TRUE(IsNewTrace()); |
| ASSERT_FALSE(IsNewTrace()); |
| @@ -1122,9 +1134,10 @@ TEST_F(TraceEventTestFixture, Categories) { |
| // Include nonexistent category -> no events |
| Clear(); |
| included_categories.clear(); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("not_found823564786"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("not_found823564786"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TRACE_EVENT_INSTANT0("cat1", "name", TRACE_EVENT_SCOPE_THREAD); |
| TRACE_EVENT_INSTANT0("cat2", "name", TRACE_EVENT_SCOPE_THREAD); |
| EndTraceAndFlush(); |
| @@ -1134,9 +1147,10 @@ TEST_F(TraceEventTestFixture, Categories) { |
| // Include existent category -> only events of that category |
| Clear(); |
| included_categories.clear(); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("inc"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("inc"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TRACE_EVENT_INSTANT0("inc", "name", TRACE_EVENT_SCOPE_THREAD); |
| TRACE_EVENT_INSTANT0("inc2", "name", TRACE_EVENT_SCOPE_THREAD); |
| EndTraceAndFlush(); |
| @@ -1150,7 +1164,7 @@ TEST_F(TraceEventTestFixture, Categories) { |
| TraceLog::GetInstance()->SetEnabled( |
| CategoryFilter("inc_wildcard_*,inc_wildchar_?_end"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TRACE_EVENT_INSTANT0("inc_wildcard_abc", "included", |
| TRACE_EVENT_SCOPE_THREAD); |
| TRACE_EVENT_INSTANT0("inc_wildcard_", "included", TRACE_EVENT_SCOPE_THREAD); |
| @@ -1178,9 +1192,10 @@ TEST_F(TraceEventTestFixture, Categories) { |
| // Exclude nonexistent category -> all events |
| Clear(); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("-not_found823564786"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("-not_found823564786"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TRACE_EVENT_INSTANT0("cat1", "name", TRACE_EVENT_SCOPE_THREAD); |
| TRACE_EVENT_INSTANT0("cat2", "name", TRACE_EVENT_SCOPE_THREAD); |
| TRACE_EVENT_INSTANT0("category1,category2", "name", TRACE_EVENT_SCOPE_THREAD); |
| @@ -1191,9 +1206,10 @@ TEST_F(TraceEventTestFixture, Categories) { |
| // Exclude existent category -> only events of other categories |
| Clear(); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("-inc"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("-inc"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TRACE_EVENT_INSTANT0("inc", "name", TRACE_EVENT_SCOPE_THREAD); |
| TRACE_EVENT_INSTANT0("inc2", "name", TRACE_EVENT_SCOPE_THREAD); |
| TRACE_EVENT_INSTANT0("inc2,inc", "name", TRACE_EVENT_SCOPE_THREAD); |
| @@ -1209,7 +1225,7 @@ TEST_F(TraceEventTestFixture, Categories) { |
| TraceLog::GetInstance()->SetEnabled( |
| CategoryFilter("-inc_wildcard_*,-inc_wildchar_?_end"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TRACE_EVENT_INSTANT0("inc_wildcard_abc", "not_inc", |
| TRACE_EVENT_SCOPE_THREAD); |
| TRACE_EVENT_INSTANT0("inc_wildcard_", "not_inc", |
| @@ -1718,19 +1734,19 @@ TEST_F(TraceEventTestFixture, TraceEnableDisable) { |
| CategoryFilter cf_inc_all("*"); |
| trace_log->SetEnabled(cf_inc_all, |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| EXPECT_TRUE(trace_log->IsEnabled()); |
| trace_log->SetDisabled(); |
| EXPECT_FALSE(trace_log->IsEnabled()); |
| trace_log->SetEnabled(cf_inc_all, |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| EXPECT_TRUE(trace_log->IsEnabled()); |
| const std::vector<std::string> empty; |
| trace_log->SetEnabled(CategoryFilter(""), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| EXPECT_TRUE(trace_log->IsEnabled()); |
| trace_log->SetDisabled(); |
| EXPECT_FALSE(trace_log->IsEnabled()); |
| @@ -1742,19 +1758,19 @@ TEST_F(TraceEventTestFixture, TraceCategoriesAfterNestedEnable) { |
| TraceLog* trace_log = TraceLog::GetInstance(); |
| trace_log->SetEnabled(CategoryFilter("foo,bar"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("foo")); |
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("bar")); |
| EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("baz")); |
| trace_log->SetEnabled(CategoryFilter("foo2"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("foo2")); |
| EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("baz")); |
| // The "" becomes the default catergory set when applied. |
| trace_log->SetEnabled(CategoryFilter(""), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("foo")); |
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("baz")); |
| EXPECT_STREQ("-*Debug,-*Test", |
| @@ -1767,12 +1783,12 @@ TEST_F(TraceEventTestFixture, TraceCategoriesAfterNestedEnable) { |
| trace_log->SetEnabled(CategoryFilter("-foo,-bar"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("foo")); |
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("baz")); |
| trace_log->SetEnabled(CategoryFilter("moo"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("baz")); |
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("moo")); |
| EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("foo")); |
| @@ -1784,11 +1800,11 @@ TEST_F(TraceEventTestFixture, TraceCategoriesAfterNestedEnable) { |
| // Make sure disabled categories aren't cleared if we set in the second. |
| trace_log->SetEnabled(CategoryFilter("disabled-by-default-cc,foo"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("bar")); |
| trace_log->SetEnabled(CategoryFilter("disabled-by-default-gpu"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-cc")); |
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-gpu")); |
| EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("bar")); |
| @@ -1799,11 +1815,11 @@ TEST_F(TraceEventTestFixture, TraceCategoriesAfterNestedEnable) { |
| } |
| TEST_F(TraceEventTestFixture, TraceSampling) { |
| - TraceLog::GetInstance()->SetEnabled( |
| - CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::Options(TraceLog::RECORD_UNTIL_FULL | |
| - TraceLog::ENABLE_SAMPLING)); |
| + TraceOptions trace_options(RECORD_UNTIL_FULL); |
| + trace_options.enable_sampling = true; |
| + TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + trace_options); |
| TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Stuff"); |
| TraceLog::GetInstance()->WaitSamplingEventForTesting(); |
| @@ -1818,11 +1834,11 @@ TEST_F(TraceEventTestFixture, TraceSampling) { |
| } |
| TEST_F(TraceEventTestFixture, TraceSamplingScope) { |
| - TraceLog::GetInstance()->SetEnabled( |
| - CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::Options(TraceLog::RECORD_UNTIL_FULL | |
| - TraceLog::ENABLE_SAMPLING)); |
| + TraceOptions trace_options(RECORD_UNTIL_FULL); |
| + trace_options.enable_sampling = true; |
| + TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + trace_options); |
| TRACE_EVENT_SCOPED_SAMPLING_STATE("AAA", "name"); |
| TraceLog::GetInstance()->WaitSamplingEventForTesting(); |
| @@ -1853,10 +1869,12 @@ TEST_F(TraceEventTestFixture, TraceSamplingScope) { |
| } |
| TEST_F(TraceEventTestFixture, TraceContinuousSampling) { |
| - TraceLog::GetInstance()->SetEnabled( |
| - CategoryFilter("*"), |
| - base::debug::TraceLog::MONITORING_MODE, |
| - TraceLog::Options(TraceLog::ENABLE_SAMPLING)); |
| + TraceOptions trace_options(RECORD_UNTIL_FULL); |
| + trace_options.enable_sampling = true; |
| + |
| + TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| + base::debug::TraceLog::MONITORING_MODE, |
| + trace_options); |
| TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "category", "AAA"); |
| TraceLog::GetInstance()->WaitSamplingEventForTesting(); |
| @@ -1913,9 +1931,10 @@ class MyData : public base::debug::ConvertableToTraceFormat { |
| }; |
| TEST_F(TraceEventTestFixture, ConvertableTypes) { |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| scoped_refptr<ConvertableToTraceFormat> data(new MyData()); |
| scoped_refptr<ConvertableToTraceFormat> data1(new MyData()); |
| @@ -2019,9 +2038,10 @@ TEST_F(TraceEventTestFixture, ConvertableTypes) { |
| } |
| TEST_F(TraceEventTestFixture, PrimitiveArgs) { |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TRACE_EVENT1("foo", "event1", "int_one", 1); |
| TRACE_EVENT1("foo", "event2", "int_neg_ten", -10); |
| @@ -2282,9 +2302,10 @@ TEST_F(TraceEventCallbackTest, TraceEventCallback) { |
| } |
| TEST_F(TraceEventCallbackTest, TraceEventCallbackWhileFull) { |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| do { |
| TRACE_EVENT_INSTANT0("all", "badger badger", TRACE_EVENT_SCOPE_GLOBAL); |
| } while (!TraceLog::GetInstance()->BufferIsFull()); |
| @@ -2304,9 +2325,10 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording1) { |
| Callback); |
| TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL); |
| TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("recording"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("recording"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL); |
| TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL); |
| TraceLog::GetInstance()->SetEventCallbackDisabled(); |
| @@ -2328,9 +2350,10 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording2) { |
| Callback); |
| TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL); |
| TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("recording"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("recording"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL); |
| TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL); |
| EndTraceAndFlush(); |
| @@ -2348,9 +2371,10 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording2) { |
| TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording3) { |
| TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL); |
| TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("recording"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("recording"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL); |
| TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL); |
| TraceLog::GetInstance()->SetEventCallbackEnabled(CategoryFilter("callback"), |
| @@ -2372,9 +2396,10 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording3) { |
| TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording4) { |
| TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL); |
| TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("recording"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("recording"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL); |
| TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL); |
| TraceLog::GetInstance()->SetEventCallbackEnabled(CategoryFilter("callback"), |
| @@ -2397,9 +2422,10 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecordingDuration) { |
| Callback); |
| { |
| TRACE_EVENT0("callback", "duration1"); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| TRACE_EVENT0("callback", "duration2"); |
| EndTraceAndFlush(); |
| TRACE_EVENT0("callback", "duration3"); |
| @@ -2424,8 +2450,8 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecordingDuration) { |
| TEST_F(TraceEventTestFixture, MAYBE_TraceBufferVectorReportFull) { |
| TraceLog* trace_log = TraceLog::GetInstance(); |
| trace_log->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_UNTIL_FULL); |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(RECORD_UNTIL_FULL)); |
| trace_log->logged_events_.reset( |
| trace_log->CreateTraceBufferVectorOfSize(100)); |
| do { |
| @@ -2472,7 +2498,7 @@ TEST_F(TraceEventTestFixture, MAYBE_TraceBufferVectorReportFull) { |
| TEST_F(TraceEventTestFixture, TraceBufferRingBufferGetReturnChunk) { |
| TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_CONTINUOUSLY); |
| + TraceOptions("record-continuously")); |
|
dsinclair
2014/07/30 14:25:25
Why not use RECORD_CONTINUOUSLY?
nednguyen
2014/07/30 16:51:14
Done.
|
| TraceBuffer* buffer = TraceLog::GetInstance()->trace_buffer(); |
| size_t capacity = buffer->Capacity(); |
| size_t num_chunks = capacity / TraceBufferChunk::kTraceBufferChunkSize; |
| @@ -2532,7 +2558,7 @@ TEST_F(TraceEventTestFixture, TraceBufferRingBufferGetReturnChunk) { |
| TEST_F(TraceEventTestFixture, TraceBufferRingBufferHalfIteration) { |
| TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_CONTINUOUSLY); |
| + TraceOptions("record-continuously")); |
|
dsinclair
2014/07/30 14:25:25
as above.
nednguyen
2014/07/30 16:51:14
Done.
|
| TraceBuffer* buffer = TraceLog::GetInstance()->trace_buffer(); |
| size_t capacity = buffer->Capacity(); |
| size_t num_chunks = capacity / TraceBufferChunk::kTraceBufferChunkSize; |
| @@ -2560,7 +2586,7 @@ TEST_F(TraceEventTestFixture, TraceBufferRingBufferHalfIteration) { |
| TEST_F(TraceEventTestFixture, TraceBufferRingBufferFullIteration) { |
| TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::RECORD_CONTINUOUSLY); |
| + TraceOptions("record-continuously")); |
|
dsinclair
2014/07/30 14:25:25
as above
nednguyen
2014/07/30 16:51:14
Done.
|
| TraceBuffer* buffer = TraceLog::GetInstance()->trace_buffer(); |
| size_t capacity = buffer->Capacity(); |
| size_t num_chunks = capacity / TraceBufferChunk::kTraceBufferChunkSize; |
| @@ -2716,6 +2742,41 @@ TEST_F(TraceEventTestFixture, SetCurrentThreadBlocksMessageLoopBeforeTracing) { |
| thread.Stop(); |
| } |
| +TEST_F(TraceEventTestFixture, ConvertTraceOptionsToInternalOptions) { |
| + TraceLog* trace_log = TraceLog::GetInstance(); |
| + TraceOptions options(RECORD_UNTIL_FULL); |
| + EXPECT_TRUE(TraceLog::kInternalRecordUntilFull & |
| + trace_log->GetInternalOptionsFromTraceOptions(options)); |
|
dsinclair
2014/07/30 14:25:25
Do we need to check the other bits to make sure th
nednguyen
2014/07/30 16:51:13
Done.
|
| + |
| + options.record_mode = RECORD_CONTINUOUSLY; |
| + EXPECT_TRUE(TraceLog::kInternalRecordContinuously & |
| + trace_log->GetInternalOptionsFromTraceOptions(options)); |
| + |
| + options.record_mode = ECHO_TO_CONSOLE; |
| + EXPECT_TRUE(TraceLog::kInternalEchoToConsole & |
| + trace_log->GetInternalOptionsFromTraceOptions(options)); |
| + |
| + options.enable_sampling = true; |
| + |
|
dsinclair
2014/07/30 14:25:25
options.enable_systrace ?
nednguyen
2014/07/30 16:51:14
Done. It's not handled by trace_event_impl though,
|
| + options.record_mode = RECORD_UNTIL_FULL; |
| + EXPECT_TRUE(TraceLog::kInternalRecordUntilFull & |
| + trace_log->GetInternalOptionsFromTraceOptions(options)); |
| + EXPECT_TRUE(TraceLog::kInternalEnableSampling & |
| + trace_log->GetInternalOptionsFromTraceOptions(options)); |
| + |
| + options.record_mode = RECORD_CONTINUOUSLY; |
| + EXPECT_TRUE(TraceLog::kInternalRecordContinuously & |
| + trace_log->GetInternalOptionsFromTraceOptions(options)); |
| + EXPECT_TRUE(TraceLog::kInternalEnableSampling & |
| + trace_log->GetInternalOptionsFromTraceOptions(options)); |
| + |
| + options.record_mode = ECHO_TO_CONSOLE; |
| + EXPECT_TRUE(TraceLog::kInternalEchoToConsole & |
| + trace_log->GetInternalOptionsFromTraceOptions(options)); |
| + EXPECT_TRUE(TraceLog::kInternalEnableSampling & |
| + trace_log->GetInternalOptionsFromTraceOptions(options)); |
| +} |
| + |
| void SetBlockingFlagAndBlockUntilStopped(WaitableEvent* task_start_event, |
| WaitableEvent* task_stop_event) { |
| TraceLog::GetInstance()->SetCurrentThreadBlocksMessageLoop(); |
| @@ -2807,9 +2868,10 @@ TEST_F(TraceEventTestFixture, EchoToConsole) { |
| logging::GetLogMessageHandler(); |
| logging::SetLogMessageHandler(MockLogMessageHandler); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::ECHO_TO_CONSOLE); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(ECHO_TO_CONSOLE)); |
| TRACE_EVENT_BEGIN0("a", "begin_end"); |
| { |
| TRACE_EVENT0("b", "duration"); |
| @@ -2843,9 +2905,10 @@ TEST_F(TraceEventTestFixture, EchoToConsoleTraceEventRecursion) { |
| logging::GetLogMessageHandler(); |
| logging::SetLogMessageHandler(LogMessageHandlerWithTraceEvent); |
| - TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), |
| - base::debug::TraceLog::RECORDING_MODE, |
| - TraceLog::ECHO_TO_CONSOLE); |
| + TraceLog::GetInstance()->SetEnabled( |
| + CategoryFilter("*"), |
| + base::debug::TraceLog::RECORDING_MODE, |
| + TraceOptions(ECHO_TO_CONSOLE)); |
| { |
| // This should not cause deadlock or infinite recursion. |
| TRACE_EVENT0("b", "duration"); |
| @@ -2932,5 +2995,60 @@ TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) { |
| EXPECT_EQ(config, filter.ToString()); |
| } |
| +TEST(TraceOptionsTest, TraceOptionsFromString) { |
| + TraceOptions options = TraceOptions("record-until-full"); |
| + EXPECT_EQ(RECORD_UNTIL_FULL, options.record_mode); |
| + EXPECT_FALSE(options.enable_sampling); |
| + |
|
dsinclair
2014/07/30 14:25:25
systrace is checked below, why not on this one?
nednguyen
2014/07/30 16:51:14
Done.
|
| + options = TraceOptions("record-continuously"); |
| + EXPECT_EQ(RECORD_CONTINUOUSLY, options.record_mode); |
| + EXPECT_FALSE(options.enable_sampling); |
| + EXPECT_FALSE(options.enable_systrace); |
| + |
| + options = TraceOptions("trace-to-console"); |
| + EXPECT_EQ(ECHO_TO_CONSOLE, options.record_mode); |
| + EXPECT_FALSE(options.enable_sampling); |
| + EXPECT_FALSE(options.enable_systrace); |
| + |
| + options = TraceOptions("record-until-full, enable-sampling"); |
| + EXPECT_EQ(RECORD_UNTIL_FULL, options.record_mode); |
| + EXPECT_TRUE(options.enable_sampling); |
| + EXPECT_FALSE(options.enable_systrace); |
| + |
| + options = TraceOptions("enable-systrace,record-continuously"); |
| + EXPECT_EQ(RECORD_CONTINUOUSLY, options.record_mode); |
| + EXPECT_FALSE(options.enable_sampling); |
| + EXPECT_TRUE(options.enable_systrace); |
| + |
| + options = TraceOptions("enable-systrace, trace-to-console,enable-sampling"); |
| + EXPECT_EQ(ECHO_TO_CONSOLE, options.record_mode); |
| + EXPECT_TRUE(options.enable_sampling); |
| + EXPECT_TRUE(options.enable_systrace); |
| +} |
|
dsinclair
2014/07/30 14:25:25
options = TraceOptions("record-continuously,record
dsinclair
2014/07/30 14:25:25
EXPECT_THROWS (I think that's what it's called? an
nednguyen
2014/07/30 16:51:13
Done.
nednguyen
2014/07/30 16:51:13
Done.
|
| + |
|
dsinclair
2014/07/30 14:25:25
options = TraceOptions("");
I assume this should
nednguyen
2014/07/30 16:51:13
Done.
|
| +TEST(TraceOptionsTest, TraceOptionsToString) { |
| + // Test that we can intialize TraceOptions from a string got from |
| + // TraceOptions.ToString() method to get a same TraceOptions. |
| + TraceRecordMode modes[] = { |
| + RECORD_UNTIL_FULL, RECORD_CONTINUOUSLY, ECHO_TO_CONSOLE}; |
| + bool enable_sampling_options[] = {true, false}; |
| + bool enable_systrace_options[] = {true, false}; |
| + |
| + for (int i = 0; i < 3; ++i) { |
|
dsinclair
2014/07/30 14:25:25
question: Is there some way we can make sure that
nednguyen
2014/07/30 16:51:14
ENUM are essentially just const int, so I can do:
|
| + for (int j = 0; j < 2; ++j) { |
| + for (int k = 0; k < 2; ++k) { |
| + TraceOptions original_option = TraceOptions(modes[i]); |
| + original_option.enable_sampling = enable_sampling_options[j]; |
| + original_option.enable_systrace = enable_systrace_options[k]; |
| + TraceOptions new_options = TraceOptions(original_option.ToString()); |
| + EXPECT_EQ(original_option.record_mode, new_options.record_mode); |
| + EXPECT_EQ(original_option.enable_sampling, new_options.enable_sampling); |
| + EXPECT_EQ(original_option.enable_systrace, new_options.enable_systrace); |
| + } |
| + } |
| + } |
| +} |
| + |
| + |
| } // namespace debug |
| } // namespace base |