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

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: 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..0f2d2261f4186c974995f4b8ecb402b73a2a31ee 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(TraceOptions::RECORD_UNTIL_FULL, false));
}
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
+ TraceLog::GetInstance()->SetEnabled(
+ cf_inc_all,
+ base::debug::TraceLog::RECORDING_MODE,
+ TraceOptions(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
// 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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
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(TraceOptions::RECORD_UNTIL_FULL, false));
EXPECT_FALSE(*trace_log->GetCategoryGroupEnabled("bar"));
trace_log->SetEnabled(CategoryFilter("disabled-by-default-gpu"),
base::debug::TraceLog::RECORDING_MODE,
- TraceLog::RECORD_UNTIL_FULL);
+ TraceOptions(TraceOptions::RECORD_UNTIL_FULL, false));
EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-cc"));
EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-gpu"));
EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("bar"));
@@ -1802,8 +1818,7 @@ TEST_F(TraceEventTestFixture, TraceSampling) {
TraceLog::GetInstance()->SetEnabled(
CategoryFilter("*"),
base::debug::TraceLog::RECORDING_MODE,
- TraceLog::Options(TraceLog::RECORD_UNTIL_FULL |
- TraceLog::ENABLE_SAMPLING));
+ TraceOptions(TraceOptions::RECORD_UNTIL_FULL, true));
TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Stuff");
TraceLog::GetInstance()->WaitSamplingEventForTesting();
@@ -1821,8 +1836,7 @@ TEST_F(TraceEventTestFixture, TraceSamplingScope) {
TraceLog::GetInstance()->SetEnabled(
CategoryFilter("*"),
base::debug::TraceLog::RECORDING_MODE,
- TraceLog::Options(TraceLog::RECORD_UNTIL_FULL |
- TraceLog::ENABLE_SAMPLING));
+ TraceOptions(TraceOptions::RECORD_UNTIL_FULL, true));
TRACE_EVENT_SCOPED_SAMPLING_STATE("AAA", "name");
TraceLog::GetInstance()->WaitSamplingEventForTesting();
@@ -1856,7 +1870,7 @@ TEST_F(TraceEventTestFixture, TraceContinuousSampling) {
TraceLog::GetInstance()->SetEnabled(
CategoryFilter("*"),
base::debug::TraceLog::MONITORING_MODE,
- TraceLog::Options(TraceLog::ENABLE_SAMPLING));
+ TraceOptions(TraceOptions::RECORD_UNTIL_FULL, true));
TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "category", "AAA");
TraceLog::GetInstance()->WaitSamplingEventForTesting();
@@ -1913,9 +1927,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(TraceOptions::RECORD_UNTIL_FULL, false));
scoped_refptr<ConvertableToTraceFormat> data(new MyData());
scoped_refptr<ConvertableToTraceFormat> data1(new MyData());
@@ -2019,9 +2034,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(TraceOptions::RECORD_UNTIL_FULL, false));
TRACE_EVENT1("foo", "event1", "int_one", 1);
TRACE_EVENT1("foo", "event2", "int_neg_ten", -10);
@@ -2282,9 +2298,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(TraceOptions::RECORD_UNTIL_FULL, false));
do {
TRACE_EVENT_INSTANT0("all", "badger badger", TRACE_EVENT_SCOPE_GLOBAL);
} while (!TraceLog::GetInstance()->BufferIsFull());
@@ -2304,9 +2321,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(TraceOptions::RECORD_UNTIL_FULL, false));
TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
TraceLog::GetInstance()->SetEventCallbackDisabled();
@@ -2328,9 +2346,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(TraceOptions::RECORD_UNTIL_FULL, false));
TRACE_EVENT_INSTANT0("recording", "yes", TRACE_EVENT_SCOPE_GLOBAL);
TRACE_EVENT_INSTANT0("callback", "yes", TRACE_EVENT_SCOPE_GLOBAL);
EndTraceAndFlush();
@@ -2348,9 +2367,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(TraceOptions::RECORD_UNTIL_FULL, false));
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 +2392,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(TraceOptions::RECORD_UNTIL_FULL, false));
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 +2418,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(TraceOptions::RECORD_UNTIL_FULL, false));
TRACE_EVENT0("callback", "duration2");
EndTraceAndFlush();
TRACE_EVENT0("callback", "duration3");
@@ -2424,8 +2446,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(TraceOptions::RECORD_UNTIL_FULL, false));
trace_log->logged_events_.reset(
trace_log->CreateTraceBufferVectorOfSize(100));
do {
@@ -2472,7 +2494,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"));
TraceBuffer* buffer = TraceLog::GetInstance()->trace_buffer();
size_t capacity = buffer->Capacity();
size_t num_chunks = capacity / TraceBufferChunk::kTraceBufferChunkSize;
@@ -2532,7 +2554,7 @@ TEST_F(TraceEventTestFixture, TraceBufferRingBufferGetReturnChunk) {
TEST_F(TraceEventTestFixture, TraceBufferRingBufferHalfIteration) {
TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
base::debug::TraceLog::RECORDING_MODE,
- TraceLog::RECORD_CONTINUOUSLY);
+ TraceOptions("record-continuously"));
TraceBuffer* buffer = TraceLog::GetInstance()->trace_buffer();
size_t capacity = buffer->Capacity();
size_t num_chunks = capacity / TraceBufferChunk::kTraceBufferChunkSize;
@@ -2560,7 +2582,7 @@ TEST_F(TraceEventTestFixture, TraceBufferRingBufferHalfIteration) {
TEST_F(TraceEventTestFixture, TraceBufferRingBufferFullIteration) {
TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
base::debug::TraceLog::RECORDING_MODE,
- TraceLog::RECORD_CONTINUOUSLY);
+ TraceOptions("record-continuously"));
TraceBuffer* buffer = TraceLog::GetInstance()->trace_buffer();
size_t capacity = buffer->Capacity();
size_t num_chunks = capacity / TraceBufferChunk::kTraceBufferChunkSize;
@@ -2716,6 +2738,41 @@ TEST_F(TraceEventTestFixture, SetCurrentThreadBlocksMessageLoopBeforeTracing) {
thread.Stop();
}
+TEST_F(TraceEventTestFixture, ConvertTraceOptionsToInternalOptions) {
+ TraceLog* trace_log = TraceLog::GetInstance();
+ TraceOptions options(TraceOptions::RECORD_UNTIL_FULL, false);
+ EXPECT_TRUE(TraceLog::RECORD_UNTIL_FULL &
+ trace_log->GetInternalOptionsFromTraceOptions(options));
+
+ options.record_mode = TraceOptions::RECORD_CONTINUOUSLY;
+ EXPECT_TRUE(TraceLog::RECORD_CONTINUOUSLY &
+ trace_log->GetInternalOptionsFromTraceOptions(options));
+
+ options.record_mode = TraceOptions::ECHO_TO_CONSOLE;
+ EXPECT_TRUE(TraceLog::ECHO_TO_CONSOLE &
+ trace_log->GetInternalOptionsFromTraceOptions(options));
+
+ options.enable_sampling = true;
+
+ options.record_mode = TraceOptions::RECORD_UNTIL_FULL;
+ EXPECT_TRUE(TraceLog::RECORD_UNTIL_FULL &
+ trace_log->GetInternalOptionsFromTraceOptions(options));
+ EXPECT_TRUE(TraceLog::ENABLE_SAMPLING &
+ trace_log->GetInternalOptionsFromTraceOptions(options));
+
+ options.record_mode = TraceOptions::RECORD_CONTINUOUSLY;
+ EXPECT_TRUE(TraceLog::RECORD_CONTINUOUSLY &
+ trace_log->GetInternalOptionsFromTraceOptions(options));
+ EXPECT_TRUE(TraceLog::ENABLE_SAMPLING &
+ trace_log->GetInternalOptionsFromTraceOptions(options));
+
+ options.record_mode = TraceOptions::ECHO_TO_CONSOLE;
+ EXPECT_TRUE(TraceLog::ECHO_TO_CONSOLE &
+ trace_log->GetInternalOptionsFromTraceOptions(options));
+ EXPECT_TRUE(TraceLog::ENABLE_SAMPLING &
+ trace_log->GetInternalOptionsFromTraceOptions(options));
+}
+
void SetBlockingFlagAndBlockUntilStopped(WaitableEvent* task_start_event,
WaitableEvent* task_stop_event) {
TraceLog::GetInstance()->SetCurrentThreadBlocksMessageLoop();
@@ -2807,9 +2864,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(TraceOptions::ECHO_TO_CONSOLE, false));
TRACE_EVENT_BEGIN0("a", "begin_end");
{
TRACE_EVENT0("b", "duration");
@@ -2843,9 +2901,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(TraceOptions::ECHO_TO_CONSOLE, false));
{
// This should not cause deadlock or infinite recursion.
TRACE_EVENT0("b", "duration");
@@ -2932,5 +2991,51 @@ TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) {
EXPECT_EQ(config, filter.ToString());
}
+TEST(TraceOptionsTest, TraceOptionsFromString) {
+ TraceOptions options = TraceOptions("record-until-full");
+ EXPECT_EQ(TraceOptions::RECORD_UNTIL_FULL, options.record_mode);
+ EXPECT_FALSE(options.enable_sampling);
+
+ options = TraceOptions("record-continuously");
+ EXPECT_EQ(TraceOptions::RECORD_CONTINUOUSLY, options.record_mode);
+ EXPECT_FALSE(options.enable_sampling);
+
+ options = TraceOptions("trace-to-console");
+ EXPECT_EQ(TraceOptions::ECHO_TO_CONSOLE, options.record_mode);
+ EXPECT_FALSE(options.enable_sampling);
+
+ options = TraceOptions("record-until-full, enable-sampling");
+ EXPECT_EQ(TraceOptions::RECORD_UNTIL_FULL, options.record_mode);
+ EXPECT_TRUE(options.enable_sampling);
+
+ options = TraceOptions("enable-sampling,record-continuously");
+ EXPECT_EQ(TraceOptions::RECORD_CONTINUOUSLY, options.record_mode);
+ EXPECT_TRUE(options.enable_sampling);
+
+ options = TraceOptions("trace-to-console,enable-sampling");
+ EXPECT_EQ(TraceOptions::ECHO_TO_CONSOLE, options.record_mode);
+ EXPECT_TRUE(options.enable_sampling);
+}
+
+TEST(TraceOptionsTest, TraceOptionsToString) {
+ // Test that we can intialize TraceOptions from a string got from
+ // TraceOptions.ToString() method to get a same TraceOptions.
+ TraceOptions::RecordMode modes[] = {TraceOptions::RECORD_UNTIL_FULL,
+ TraceOptions::RECORD_CONTINUOUSLY,
+ TraceOptions::ECHO_TO_CONSOLE};
+ bool enable_sampling_options[] = {true, false};
+
+ for (int i = 0; i < 3; ++i) {
+ for (int j = 0; j < 2; ++j) {
+ TraceOptions original_option =
+ TraceOptions(modes[i], enable_sampling_options[j]);
+ 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);
+ }
+ }
+}
+
+
} // namespace debug
} // namespace base

Powered by Google App Engine
This is Rietveld 408576698