OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/debug/trace_event_unittest.h" | 5 #include "base/debug/trace_event_unittest.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/debug/trace_event.h" | 9 #include "base/debug/trace_event.h" |
10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
64 trace_parsed_.Clear(); | 64 trace_parsed_.Clear(); |
65 json_output_.json_output.clear(); | 65 json_output_.json_output.clear(); |
66 } | 66 } |
67 | 67 |
68 void BeginTrace() { | 68 void BeginTrace() { |
69 event_watch_notification_ = 0; | 69 event_watch_notification_ = 0; |
70 TraceLog::GetInstance()->SetEnabled("*"); | 70 TraceLog::GetInstance()->SetEnabled("*"); |
71 } | 71 } |
72 | 72 |
73 void EndTraceAndFlush() { | 73 void EndTraceAndFlush() { |
74 TraceLog::GetInstance()->SetDisabled(); | 74 while (TraceLog::GetInstance()->IsEnabled()) |
75 TraceLog::GetInstance()->SetDisabled(); | |
75 TraceLog::GetInstance()->Flush( | 76 TraceLog::GetInstance()->Flush( |
76 base::Bind(&TraceEventTestFixture::OnTraceDataCollected, | 77 base::Bind(&TraceEventTestFixture::OnTraceDataCollected, |
77 base::Unretained(this))); | 78 base::Unretained(this))); |
78 } | 79 } |
79 | 80 |
80 virtual void SetUp() OVERRIDE { | 81 virtual void SetUp() OVERRIDE { |
81 old_thread_name_ = PlatformThread::GetName(); | 82 old_thread_name_ = PlatformThread::GetName(); |
82 } | 83 } |
83 virtual void TearDown() OVERRIDE { | 84 virtual void TearDown() OVERRIDE { |
84 if (TraceLog::GetInstance()) | 85 if (TraceLog::GetInstance()) |
(...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
689 EXPECT_CALL(observer, OnTraceLogWillEnable()) | 690 EXPECT_CALL(observer, OnTraceLogWillEnable()) |
690 .Times(0); | 691 .Times(0); |
691 EXPECT_CALL(observer, OnTraceLogWillDisable()) | 692 EXPECT_CALL(observer, OnTraceLogWillDisable()) |
692 .Times(0); | 693 .Times(0); |
693 TraceLog::GetInstance()->SetEnabled(true); | 694 TraceLog::GetInstance()->SetEnabled(true); |
694 testing::Mock::VerifyAndClear(&observer); | 695 testing::Mock::VerifyAndClear(&observer); |
695 | 696 |
696 // Cleanup. | 697 // Cleanup. |
697 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer); | 698 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer); |
698 TraceLog::GetInstance()->SetEnabled(false); | 699 TraceLog::GetInstance()->SetEnabled(false); |
700 TraceLog::GetInstance()->SetEnabled(false); | |
699 } | 701 } |
700 | 702 |
701 TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnUselessDisable) { | 703 TEST_F(TraceEventTestFixture, EnabledObserverDoesntFireOnNestedDisable) { |
702 ManualTestSetUp(); | 704 ManualTestSetUp(); |
703 | 705 |
706 TraceLog::GetInstance()->SetEnabled(true); | |
707 TraceLog::GetInstance()->SetEnabled(true); | |
704 | 708 |
705 testing::StrictMock<MockEnabledStateChangedObserver> observer; | 709 testing::StrictMock<MockEnabledStateChangedObserver> observer; |
706 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); | 710 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); |
707 | 711 |
708 EXPECT_CALL(observer, OnTraceLogWillEnable()) | 712 EXPECT_CALL(observer, OnTraceLogWillEnable()) |
709 .Times(0); | 713 .Times(0); |
710 EXPECT_CALL(observer, OnTraceLogWillDisable()) | 714 EXPECT_CALL(observer, OnTraceLogWillDisable()) |
711 .Times(0); | 715 .Times(0); |
712 TraceLog::GetInstance()->SetEnabled(false); | 716 TraceLog::GetInstance()->SetEnabled(false); |
713 testing::Mock::VerifyAndClear(&observer); | 717 testing::Mock::VerifyAndClear(&observer); |
714 | 718 |
715 // Cleanup. | 719 // Cleanup. |
716 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer); | 720 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer); |
721 TraceLog::GetInstance()->SetEnabled(false); | |
717 } | 722 } |
718 | 723 |
719 TEST_F(TraceEventTestFixture, EnabledObserverFiresOnDisable) { | 724 TEST_F(TraceEventTestFixture, EnabledObserverFiresOnDisable) { |
720 ManualTestSetUp(); | 725 ManualTestSetUp(); |
721 | 726 |
722 TraceLog::GetInstance()->SetEnabled(true); | 727 TraceLog::GetInstance()->SetEnabled(true); |
723 | 728 |
724 MockEnabledStateChangedObserver observer; | 729 MockEnabledStateChangedObserver observer; |
725 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); | 730 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); |
726 | 731 |
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1330 EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]"); | 1335 EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]"); |
1331 | 1336 |
1332 Clear(); | 1337 Clear(); |
1333 | 1338 |
1334 trace_buffer_.Start(); | 1339 trace_buffer_.Start(); |
1335 trace_buffer_.AddFragment("bla1,bla2,bla3,bla4"); | 1340 trace_buffer_.AddFragment("bla1,bla2,bla3,bla4"); |
1336 trace_buffer_.Finish(); | 1341 trace_buffer_.Finish(); |
1337 EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]"); | 1342 EXPECT_STREQ(json_output_.json_output.c_str(), "[bla1,bla2,bla3,bla4]"); |
1338 } | 1343 } |
1339 | 1344 |
1345 TEST_F(TraceEventTestFixture, TraceEnableDisable) { | |
1346 ManualTestSetUp(); | |
nduca
2013/01/08 21:27:39
How does enabling work with çategories? I think we
| |
1347 | |
1348 TraceLog* trace_log = TraceLog::GetInstance(); | |
1349 trace_log->SetEnabled(std::string()); | |
1350 EXPECT_TRUE(trace_log->IsEnabled()); | |
1351 trace_log->SetDisabled(); | |
1352 EXPECT_FALSE(trace_log->IsEnabled()); | |
1353 | |
1354 trace_log->SetEnabled(true); | |
1355 EXPECT_TRUE(trace_log->IsEnabled()); | |
1356 const std::vector<std::string> empty; | |
1357 trace_log->SetEnabled(empty, empty); | |
1358 EXPECT_TRUE(trace_log->IsEnabled()); | |
1359 trace_log->SetEnabled(false); | |
1360 EXPECT_TRUE(trace_log->IsEnabled()); | |
1361 trace_log->SetDisabled(); | |
1362 EXPECT_FALSE(trace_log->IsEnabled()); | |
1363 } | |
1364 | |
1340 } // namespace debug | 1365 } // namespace debug |
1341 } // namespace base | 1366 } // namespace base |
OLD | NEW |