| 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/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/synchronization/waitable_event.h" | 6 #include "base/synchronization/waitable_event.h" |
| 7 #include "base/test/trace_event_analyzer.h" | 7 #include "base/test/trace_event_analyzer.h" |
| 8 #include "base/threading/platform_thread.h" | 8 #include "base/threading/platform_thread.h" |
| 9 #include "testing/gmock/include/gmock/gmock.h" | 9 #include "testing/gmock/include/gmock/gmock.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| 11 | 11 |
| 12 namespace trace_analyzer { | 12 namespace trace_analyzer { |
| 13 | 13 |
| 14 namespace { | 14 namespace { |
| 15 | 15 |
| 16 class TraceEventAnalyzerTest : public testing::Test { | 16 class TraceEventAnalyzerTest : public testing::Test { |
| 17 public: | 17 public: |
| 18 void ManualSetUp(); | 18 void ManualSetUp(); |
| 19 void OnTraceDataCollected( | 19 void OnTraceDataCollected( |
| 20 base::WaitableEvent* flush_complete_event, | 20 base::WaitableEvent* flush_complete_event, |
| 21 const scoped_refptr<base::RefCountedString>& json_events_str, | 21 const scoped_refptr<base::RefCountedString>& json_events_str, |
| 22 bool has_more_events); | 22 bool has_more_events); |
| 23 void BeginTracing(); | 23 void BeginTracing(); |
| 24 void EndTracing(); | 24 void EndTracing(); |
| 25 | 25 |
| 26 base::debug::TraceResultBuffer::SimpleOutput output_; | 26 base::trace_event::TraceResultBuffer::SimpleOutput output_; |
| 27 base::debug::TraceResultBuffer buffer_; | 27 base::trace_event::TraceResultBuffer buffer_; |
| 28 }; | 28 }; |
| 29 | 29 |
| 30 void TraceEventAnalyzerTest::ManualSetUp() { | 30 void TraceEventAnalyzerTest::ManualSetUp() { |
| 31 ASSERT_TRUE(base::debug::TraceLog::GetInstance()); | 31 ASSERT_TRUE(base::trace_event::TraceLog::GetInstance()); |
| 32 buffer_.SetOutputCallback(output_.GetCallback()); | 32 buffer_.SetOutputCallback(output_.GetCallback()); |
| 33 output_.json_output.clear(); | 33 output_.json_output.clear(); |
| 34 } | 34 } |
| 35 | 35 |
| 36 void TraceEventAnalyzerTest::OnTraceDataCollected( | 36 void TraceEventAnalyzerTest::OnTraceDataCollected( |
| 37 base::WaitableEvent* flush_complete_event, | 37 base::WaitableEvent* flush_complete_event, |
| 38 const scoped_refptr<base::RefCountedString>& json_events_str, | 38 const scoped_refptr<base::RefCountedString>& json_events_str, |
| 39 bool has_more_events) { | 39 bool has_more_events) { |
| 40 buffer_.AddFragment(json_events_str->data()); | 40 buffer_.AddFragment(json_events_str->data()); |
| 41 if (!has_more_events) | 41 if (!has_more_events) |
| 42 flush_complete_event->Signal(); | 42 flush_complete_event->Signal(); |
| 43 } | 43 } |
| 44 | 44 |
| 45 void TraceEventAnalyzerTest::BeginTracing() { | 45 void TraceEventAnalyzerTest::BeginTracing() { |
| 46 output_.json_output.clear(); | 46 output_.json_output.clear(); |
| 47 buffer_.Start(); | 47 buffer_.Start(); |
| 48 base::debug::TraceLog::GetInstance()->SetEnabled( | 48 base::trace_event::TraceLog::GetInstance()->SetEnabled( |
| 49 base::debug::CategoryFilter("*"), | 49 base::trace_event::CategoryFilter("*"), |
| 50 base::debug::TraceLog::RECORDING_MODE, | 50 base::trace_event::TraceLog::RECORDING_MODE, |
| 51 base::debug::TraceOptions()); | 51 base::trace_event::TraceOptions()); |
| 52 } | 52 } |
| 53 | 53 |
| 54 void TraceEventAnalyzerTest::EndTracing() { | 54 void TraceEventAnalyzerTest::EndTracing() { |
| 55 base::debug::TraceLog::GetInstance()->SetDisabled(); | 55 base::trace_event::TraceLog::GetInstance()->SetDisabled(); |
| 56 base::WaitableEvent flush_complete_event(false, false); | 56 base::WaitableEvent flush_complete_event(false, false); |
| 57 base::debug::TraceLog::GetInstance()->Flush( | 57 base::trace_event::TraceLog::GetInstance()->Flush( |
| 58 base::Bind(&TraceEventAnalyzerTest::OnTraceDataCollected, | 58 base::Bind(&TraceEventAnalyzerTest::OnTraceDataCollected, |
| 59 base::Unretained(this), | 59 base::Unretained(this), |
| 60 base::Unretained(&flush_complete_event))); | 60 base::Unretained(&flush_complete_event))); |
| 61 flush_complete_event.Wait(); | 61 flush_complete_event.Wait(); |
| 62 buffer_.Finish(); | 62 buffer_.Finish(); |
| 63 } | 63 } |
| 64 | 64 |
| 65 } // namespace | 65 } // namespace |
| 66 | 66 |
| 67 TEST_F(TraceEventAnalyzerTest, NoEvents) { | 67 TEST_F(TraceEventAnalyzerTest, NoEvents) { |
| (...skipping 818 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 886 EXPECT_EQ(num_events, CountMatches(event_ptrs, Query::Bool(true))); | 886 EXPECT_EQ(num_events, CountMatches(event_ptrs, Query::Bool(true))); |
| 887 EXPECT_EQ(num_events - 1, CountMatches(event_ptrs, Query::Bool(true), | 887 EXPECT_EQ(num_events - 1, CountMatches(event_ptrs, Query::Bool(true), |
| 888 1, num_events)); | 888 1, num_events)); |
| 889 EXPECT_EQ(1u, CountMatches(event_ptrs, query_one)); | 889 EXPECT_EQ(1u, CountMatches(event_ptrs, query_one)); |
| 890 EXPECT_EQ(num_events - 1, CountMatches(event_ptrs, !query_one)); | 890 EXPECT_EQ(num_events - 1, CountMatches(event_ptrs, !query_one)); |
| 891 EXPECT_EQ(num_named, CountMatches(event_ptrs, query_named)); | 891 EXPECT_EQ(num_named, CountMatches(event_ptrs, query_named)); |
| 892 } | 892 } |
| 893 | 893 |
| 894 | 894 |
| 895 } // namespace trace_analyzer | 895 } // namespace trace_analyzer |
| OLD | NEW |