Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(422)

Unified Diff: base/debug/trace_event_unittest.cc

Issue 425593002: Refactor trace_event_impl's SetEnabled to use TraceOptions. Propagate this through the whole stack. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Nat's comments. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698