Chromium Code Reviews| 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 |