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

Side by Side Diff: base/test/trace_event_analyzer_unittest.cc

Issue 10837082: implement SetWatchEvent and WaitForEvent for trace-based-tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update / merge -- no change Created 8 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/debug/trace_event_unittest.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/debug/trace_event_unittest.h" 6 #include "base/debug/trace_event_unittest.h"
7 #include "base/test/trace_event_analyzer.h" 7 #include "base/test/trace_event_analyzer.h"
8 #include "testing/gmock/include/gmock/gmock.h" 8 #include "testing/gmock/include/gmock/gmock.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 namespace trace_analyzer { 11 namespace trace_analyzer {
12 12
13 namespace { 13 namespace {
14 14
15 class TraceEventAnalyzerTest : public testing::Test { 15 class TraceEventAnalyzerTest : public testing::Test {
16 public: 16 public:
17 void ManualSetUp(); 17 void ManualSetUp();
18 void OnTraceDataCollected( 18 void OnTraceDataCollected(
19 const scoped_refptr<base::RefCountedString>& json_events_str); 19 const scoped_refptr<base::RefCountedString>& json_events_str);
20 void BeginTracing(); 20 void BeginTracing();
21 void EndTracing(); 21 void EndTracing();
22 22
23 base::debug::TraceResultBuffer::SimpleOutput output_; 23 base::debug::TraceResultBuffer::SimpleOutput output_;
24 base::debug::TraceResultBuffer buffer_; 24 base::debug::TraceResultBuffer buffer_;
25 }; 25 };
26 26
27 void TraceEventAnalyzerTest::ManualSetUp() { 27 void TraceEventAnalyzerTest::ManualSetUp() {
28 base::debug::TraceLog::Resurrect(); 28 base::debug::TraceLog::Resurrect();
29 base::debug::TraceLog* tracelog = base::debug::TraceLog::GetInstance(); 29 ASSERT_TRUE(base::debug::TraceLog::GetInstance());
30 ASSERT_TRUE(tracelog);
31 tracelog->SetOutputCallback(
32 base::Bind(&TraceEventAnalyzerTest::OnTraceDataCollected,
33 base::Unretained(this)));
34 buffer_.SetOutputCallback(output_.GetCallback()); 30 buffer_.SetOutputCallback(output_.GetCallback());
35 output_.json_output.clear(); 31 output_.json_output.clear();
36 } 32 }
37 33
38 void TraceEventAnalyzerTest::OnTraceDataCollected( 34 void TraceEventAnalyzerTest::OnTraceDataCollected(
39 const scoped_refptr<base::RefCountedString>& json_events_str) { 35 const scoped_refptr<base::RefCountedString>& json_events_str) {
40 buffer_.AddFragment(json_events_str->data()); 36 buffer_.AddFragment(json_events_str->data());
41 } 37 }
42 38
43 void TraceEventAnalyzerTest::BeginTracing() { 39 void TraceEventAnalyzerTest::BeginTracing() {
44 output_.json_output.clear(); 40 output_.json_output.clear();
45 buffer_.Start(); 41 buffer_.Start();
46 base::debug::TraceLog::GetInstance()->SetEnabled(true); 42 base::debug::TraceLog::GetInstance()->SetEnabled(true);
47 } 43 }
48 44
49 void TraceEventAnalyzerTest::EndTracing() { 45 void TraceEventAnalyzerTest::EndTracing() {
50 base::debug::TraceLog::GetInstance()->SetEnabled(false); 46 base::debug::TraceLog::GetInstance()->SetEnabled(false);
47 base::debug::TraceLog::GetInstance()->Flush(
48 base::Bind(&TraceEventAnalyzerTest::OnTraceDataCollected,
49 base::Unretained(this)));
51 buffer_.Finish(); 50 buffer_.Finish();
52 } 51 }
53 52
54 } // namespace 53 } // namespace
55 54
56 TEST_F(TraceEventAnalyzerTest, NoEvents) { 55 TEST_F(TraceEventAnalyzerTest, NoEvents) {
57 ManualSetUp(); 56 ManualSetUp();
58 57
59 // Create an empty JSON event string: 58 // Create an empty JSON event string:
60 buffer_.Start(); 59 buffer_.Start();
(...skipping 758 matching lines...) Expand 10 before | Expand all | Expand 10 after
819 EXPECT_EQ(num_events, CountMatches(event_ptrs, Query::Bool(true))); 818 EXPECT_EQ(num_events, CountMatches(event_ptrs, Query::Bool(true)));
820 EXPECT_EQ(num_events - 1, CountMatches(event_ptrs, Query::Bool(true), 819 EXPECT_EQ(num_events - 1, CountMatches(event_ptrs, Query::Bool(true),
821 1, num_events)); 820 1, num_events));
822 EXPECT_EQ(1u, CountMatches(event_ptrs, query_one)); 821 EXPECT_EQ(1u, CountMatches(event_ptrs, query_one));
823 EXPECT_EQ(num_events - 1, CountMatches(event_ptrs, !query_one)); 822 EXPECT_EQ(num_events - 1, CountMatches(event_ptrs, !query_one));
824 EXPECT_EQ(num_named, CountMatches(event_ptrs, query_named)); 823 EXPECT_EQ(num_named, CountMatches(event_ptrs, query_named));
825 } 824 }
826 825
827 826
828 } // namespace trace_analyzer 827 } // namespace trace_analyzer
OLDNEW
« no previous file with comments | « base/debug/trace_event_unittest.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698