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 "content/browser/tracing/trace_subscriber_stdio.h" | 5 #include "content/browser/tracing/trace_subscriber_stdio.h" |
6 | 6 |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
9 #include "base/threading/sequenced_worker_pool.h" | 9 #include "base/threading/sequenced_worker_pool.h" |
10 #include "content/public/browser/browser_thread.h" | 10 #include "content/public/browser/browser_thread.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 make_scoped_refptr(base::RefCountedString::TakeString(&foo))); | 28 make_scoped_refptr(base::RefCountedString::TakeString(&foo))); |
29 | 29 |
30 std::string bar("bar"); | 30 std::string bar("bar"); |
31 subscriber.OnTraceDataCollected( | 31 subscriber.OnTraceDataCollected( |
32 make_scoped_refptr(base::RefCountedString::TakeString(&bar))); | 32 make_scoped_refptr(base::RefCountedString::TakeString(&bar))); |
33 | 33 |
34 subscriber.OnEndTracingComplete(); | 34 subscriber.OnEndTracingComplete(); |
35 } | 35 } |
36 BrowserThread::GetBlockingPool()->FlushForTesting(); | 36 BrowserThread::GetBlockingPool()->FlushForTesting(); |
37 std::string result; | 37 std::string result; |
38 EXPECT_TRUE(file_util::ReadFileToString(trace_file, &result)); | 38 EXPECT_TRUE(base::ReadFileToString(trace_file, &result)); |
39 EXPECT_EQ("[foo,bar]", result); | 39 EXPECT_EQ("[foo,bar]", result); |
40 } | 40 } |
41 | 41 |
42 TEST_F(TraceSubscriberStdioTest, CanWritePropertyList) { | 42 TEST_F(TraceSubscriberStdioTest, CanWritePropertyList) { |
43 base::ScopedTempDir trace_dir; | 43 base::ScopedTempDir trace_dir; |
44 ASSERT_TRUE(trace_dir.CreateUniqueTempDir()); | 44 ASSERT_TRUE(trace_dir.CreateUniqueTempDir()); |
45 base::FilePath trace_file(trace_dir.path().AppendASCII("trace.txt")); | 45 base::FilePath trace_file(trace_dir.path().AppendASCII("trace.txt")); |
46 { | 46 { |
47 TraceSubscriberStdio subscriber( | 47 TraceSubscriberStdio subscriber( |
48 trace_file, | 48 trace_file, |
49 TraceSubscriberStdio::FILE_TYPE_PROPERTY_LIST, | 49 TraceSubscriberStdio::FILE_TYPE_PROPERTY_LIST, |
50 false); | 50 false); |
51 | 51 |
52 std::string foo("foo"); | 52 std::string foo("foo"); |
53 subscriber.OnTraceDataCollected( | 53 subscriber.OnTraceDataCollected( |
54 make_scoped_refptr(base::RefCountedString::TakeString(&foo))); | 54 make_scoped_refptr(base::RefCountedString::TakeString(&foo))); |
55 | 55 |
56 std::string bar("bar"); | 56 std::string bar("bar"); |
57 subscriber.OnTraceDataCollected( | 57 subscriber.OnTraceDataCollected( |
58 make_scoped_refptr(base::RefCountedString::TakeString(&bar))); | 58 make_scoped_refptr(base::RefCountedString::TakeString(&bar))); |
59 | 59 |
60 subscriber.OnEndTracingComplete(); | 60 subscriber.OnEndTracingComplete(); |
61 } | 61 } |
62 BrowserThread::GetBlockingPool()->FlushForTesting(); | 62 BrowserThread::GetBlockingPool()->FlushForTesting(); |
63 std::string result; | 63 std::string result; |
64 EXPECT_TRUE(file_util::ReadFileToString(trace_file, &result)); | 64 EXPECT_TRUE(base::ReadFileToString(trace_file, &result)); |
65 EXPECT_EQ("{\"traceEvents\":[foo,bar]}", result); | 65 EXPECT_EQ("{\"traceEvents\":[foo,bar]}", result); |
66 } | 66 } |
67 | 67 |
68 TEST_F(TraceSubscriberStdioTest, CanWriteSystemDataFirst) { | 68 TEST_F(TraceSubscriberStdioTest, CanWriteSystemDataFirst) { |
69 base::ScopedTempDir trace_dir; | 69 base::ScopedTempDir trace_dir; |
70 ASSERT_TRUE(trace_dir.CreateUniqueTempDir()); | 70 ASSERT_TRUE(trace_dir.CreateUniqueTempDir()); |
71 base::FilePath trace_file(trace_dir.path().AppendASCII("trace.txt")); | 71 base::FilePath trace_file(trace_dir.path().AppendASCII("trace.txt")); |
72 { | 72 { |
73 TraceSubscriberStdio subscriber( | 73 TraceSubscriberStdio subscriber( |
74 trace_file, | 74 trace_file, |
75 TraceSubscriberStdio::FILE_TYPE_PROPERTY_LIST, | 75 TraceSubscriberStdio::FILE_TYPE_PROPERTY_LIST, |
76 true); | 76 true); |
77 | 77 |
78 std::string foo("foo"); | 78 std::string foo("foo"); |
79 subscriber.OnTraceDataCollected( | 79 subscriber.OnTraceDataCollected( |
80 make_scoped_refptr(base::RefCountedString::TakeString(&foo))); | 80 make_scoped_refptr(base::RefCountedString::TakeString(&foo))); |
81 | 81 |
82 std::string bar("bar"); | 82 std::string bar("bar"); |
83 subscriber.OnTraceDataCollected( | 83 subscriber.OnTraceDataCollected( |
84 make_scoped_refptr(base::RefCountedString::TakeString(&bar))); | 84 make_scoped_refptr(base::RefCountedString::TakeString(&bar))); |
85 | 85 |
86 std::string systemTrace("event1\nev\"ent\"2\n"); | 86 std::string systemTrace("event1\nev\"ent\"2\n"); |
87 subscriber.OnEndSystemTracing( | 87 subscriber.OnEndSystemTracing( |
88 make_scoped_refptr(base::RefCountedString::TakeString(&systemTrace))); | 88 make_scoped_refptr(base::RefCountedString::TakeString(&systemTrace))); |
89 subscriber.OnEndTracingComplete(); | 89 subscriber.OnEndTracingComplete(); |
90 } | 90 } |
91 BrowserThread::GetBlockingPool()->FlushForTesting(); | 91 BrowserThread::GetBlockingPool()->FlushForTesting(); |
92 std::string result; | 92 std::string result; |
93 EXPECT_TRUE(file_util::ReadFileToString(trace_file, &result)); | 93 EXPECT_TRUE(base::ReadFileToString(trace_file, &result)); |
94 EXPECT_EQ( | 94 EXPECT_EQ( |
95 "{\"traceEvents\":[foo,bar],\"" | 95 "{\"traceEvents\":[foo,bar],\"" |
96 "systemTraceEvents\":\"event1\\nev\\\"ent\\\"2\\n\"}", | 96 "systemTraceEvents\":\"event1\\nev\\\"ent\\\"2\\n\"}", |
97 result); | 97 result); |
98 } | 98 } |
99 | 99 |
100 TEST_F(TraceSubscriberStdioTest, CanWriteSystemDataLast) { | 100 TEST_F(TraceSubscriberStdioTest, CanWriteSystemDataLast) { |
101 base::ScopedTempDir trace_dir; | 101 base::ScopedTempDir trace_dir; |
102 ASSERT_TRUE(trace_dir.CreateUniqueTempDir()); | 102 ASSERT_TRUE(trace_dir.CreateUniqueTempDir()); |
103 base::FilePath trace_file(trace_dir.path().AppendASCII("trace.txt")); | 103 base::FilePath trace_file(trace_dir.path().AppendASCII("trace.txt")); |
(...skipping 11 matching lines...) Expand all Loading... |
115 subscriber.OnTraceDataCollected( | 115 subscriber.OnTraceDataCollected( |
116 make_scoped_refptr(base::RefCountedString::TakeString(&bar))); | 116 make_scoped_refptr(base::RefCountedString::TakeString(&bar))); |
117 | 117 |
118 std::string systemTrace("event1\nev\"ent\"2\n"); | 118 std::string systemTrace("event1\nev\"ent\"2\n"); |
119 subscriber.OnEndTracingComplete(); | 119 subscriber.OnEndTracingComplete(); |
120 subscriber.OnEndSystemTracing( | 120 subscriber.OnEndSystemTracing( |
121 make_scoped_refptr(base::RefCountedString::TakeString(&systemTrace))); | 121 make_scoped_refptr(base::RefCountedString::TakeString(&systemTrace))); |
122 } | 122 } |
123 BrowserThread::GetBlockingPool()->FlushForTesting(); | 123 BrowserThread::GetBlockingPool()->FlushForTesting(); |
124 std::string result; | 124 std::string result; |
125 EXPECT_TRUE(file_util::ReadFileToString(trace_file, &result)); | 125 EXPECT_TRUE(base::ReadFileToString(trace_file, &result)); |
126 EXPECT_EQ( | 126 EXPECT_EQ( |
127 "{\"traceEvents\":[foo,bar],\"" | 127 "{\"traceEvents\":[foo,bar],\"" |
128 "systemTraceEvents\":\"event1\\nev\\\"ent\\\"2\\n\"}", | 128 "systemTraceEvents\":\"event1\\nev\\\"ent\\\"2\\n\"}", |
129 result); | 129 result); |
130 } | 130 } |
131 | 131 |
132 } // namespace content | 132 } // namespace content |
OLD | NEW |