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

Unified Diff: base/debug/trace_event_unittest.cc

Issue 11802005: Enable overlapping, usage counted SetEnabled()/SetDisabled() for TraceLog (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed fatal warning on win Created 7 years, 11 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
« no previous file with comments | « base/debug/trace_event_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/debug/trace_event_unittest.cc
diff --git a/base/debug/trace_event_unittest.cc b/base/debug/trace_event_unittest.cc
index 445118b6374bd1751df1468d175f7f35db6d8927..0d6d9bea92f9ef7a2590554c10d4038bbaeb9480 100644
--- a/base/debug/trace_event_unittest.cc
+++ b/base/debug/trace_event_unittest.cc
@@ -71,7 +71,8 @@ class TraceEventTestFixture : public testing::Test {
}
void EndTraceAndFlush() {
- TraceLog::GetInstance()->SetDisabled();
+ while (TraceLog::GetInstance()->IsEnabled())
+ TraceLog::GetInstance()->SetDisabled();
TraceLog::GetInstance()->Flush(
base::Bind(&TraceEventTestFixture::OnTraceDataCollected,
base::Unretained(this)));
@@ -696,11 +697,14 @@ TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnSecondEnable) {
// Cleanup.
TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer);
TraceLog::GetInstance()->SetEnabled(false);
+ TraceLog::GetInstance()->SetEnabled(false);
}
-TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnUselessDisable) {
+TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnNestedDisable) {
ManualTestSetUp();
+ TraceLog::GetInstance()->SetEnabled(true);
+ TraceLog::GetInstance()->SetEnabled(true);
testing::StrictMock<MockEnabledStateChangedObserver> observer;
TraceLog::GetInstance()->AddEnabledStateObserver(&observer);
@@ -714,6 +718,7 @@ TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnUselessDisable) {
// Cleanup.
TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer);
+ TraceLog::GetInstance()->SetEnabled(false);
}
TEST_F(TraceEventTestFixture, EnabledObserverFiresOnDisable) {
@@ -1337,5 +1342,56 @@ TEST_F(TraceEventTestFixture, TraceResultBuffer) {
EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]");
}
+TEST_F(TraceEventTestFixture, TraceEnableDisable) {
+ ManualTestSetUp();
+
+ TraceLog* trace_log = TraceLog::GetInstance();
+ trace_log->SetEnabled(std::string());
+ EXPECT_TRUE(trace_log->IsEnabled());
+ trace_log->SetDisabled();
+ EXPECT_FALSE(trace_log->IsEnabled());
+
+ trace_log->SetEnabled(true);
+ EXPECT_TRUE(trace_log->IsEnabled());
+ const std::vector<std::string> empty;
+ trace_log->SetEnabled(empty, empty);
+ EXPECT_TRUE(trace_log->IsEnabled());
+ trace_log->SetEnabled(false);
+ EXPECT_TRUE(trace_log->IsEnabled());
+ trace_log->SetDisabled();
+ EXPECT_FALSE(trace_log->IsEnabled());
+}
+
+TEST_F(TraceEventTestFixture, TraceCategoriesAfterNestedEnable) {
+ ManualTestSetUp();
+
+ TraceLog* trace_log = TraceLog::GetInstance();
+ trace_log->SetEnabled(std::string("foo,bar"));
+ EXPECT_TRUE(*trace_log->GetCategoryEnabled("foo"));
+ EXPECT_TRUE(*trace_log->GetCategoryEnabled("bar"));
+ EXPECT_FALSE(*trace_log->GetCategoryEnabled("baz"));
+ trace_log->SetEnabled(std::string("foo2"));
+ EXPECT_TRUE(*trace_log->GetCategoryEnabled("foo2"));
+ EXPECT_FALSE(*trace_log->GetCategoryEnabled("baz"));
+ trace_log->SetEnabled(std::string(""));
+ EXPECT_TRUE(*trace_log->GetCategoryEnabled("foo"));
+ EXPECT_TRUE(*trace_log->GetCategoryEnabled("baz"));
+ trace_log->SetDisabled();
+ trace_log->SetDisabled();
+ trace_log->SetDisabled();
+ EXPECT_FALSE(*trace_log->GetCategoryEnabled("foo"));
+ EXPECT_FALSE(*trace_log->GetCategoryEnabled("baz"));
+
+ trace_log->SetEnabled(std::string("-foo,-bar"));
+ EXPECT_FALSE(*trace_log->GetCategoryEnabled("foo"));
+ EXPECT_TRUE(*trace_log->GetCategoryEnabled("baz"));
+ trace_log->SetEnabled(std::string("moo"));
+ EXPECT_TRUE(*trace_log->GetCategoryEnabled("baz"));
+ EXPECT_TRUE(*trace_log->GetCategoryEnabled("moo"));
+ EXPECT_TRUE(*trace_log->GetCategoryEnabled("foo"));
+ trace_log->SetDisabled();
+ trace_log->SetDisabled();
+}
+
} // namespace debug
} // namespace base
« no previous file with comments | « base/debug/trace_event_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698