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

Side by Side Diff: base/debug/trace_event_unittest.cc

Issue 67683003: Remove TraceController (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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
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/debug/trace_event_unittest.h" 5 #include "base/debug/trace_event_unittest.h"
6 6
7 #include <cstdlib> 7 #include <cstdlib>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 const char kAsyncIdStr[] = "0x5"; 46 const char kAsyncIdStr[] = "0x5";
47 const int kAsyncId2 = 6; 47 const int kAsyncId2 = 6;
48 const char kAsyncId2Str[] = "0x6"; 48 const char kAsyncId2Str[] = "0x6";
49 49
50 class TraceEventTestFixture : public testing::Test { 50 class TraceEventTestFixture : public testing::Test {
51 public: 51 public:
52 void OnTraceDataCollected( 52 void OnTraceDataCollected(
53 WaitableEvent* flush_complete_event, 53 WaitableEvent* flush_complete_event,
54 const scoped_refptr<base::RefCountedString>& events_str, 54 const scoped_refptr<base::RefCountedString>& events_str,
55 bool has_more_events); 55 bool has_more_events);
56 void OnTraceNotification(int notification) { 56 void OnWatchEventMatched() {
57 if (notification & TraceLog::EVENT_WATCH_NOTIFICATION) 57 ++event_watch_notification_;
58 ++event_watch_notification_;
59 notifications_received_ |= notification;
60 } 58 }
61 DictionaryValue* FindMatchingTraceEntry(const JsonKeyValue* key_values); 59 DictionaryValue* FindMatchingTraceEntry(const JsonKeyValue* key_values);
62 DictionaryValue* FindNamePhase(const char* name, const char* phase); 60 DictionaryValue* FindNamePhase(const char* name, const char* phase);
63 DictionaryValue* FindNamePhaseKeyValue(const char* name, 61 DictionaryValue* FindNamePhaseKeyValue(const char* name,
64 const char* phase, 62 const char* phase,
65 const char* key, 63 const char* key,
66 const char* value); 64 const char* value);
67 bool FindMatchingValue(const char* key, 65 bool FindMatchingValue(const char* key,
68 const char* value); 66 const char* value);
69 bool FindNonMatchingValue(const char* key, 67 bool FindNonMatchingValue(const char* key,
70 const char* value); 68 const char* value);
71 void Clear() { 69 void Clear() {
72 trace_parsed_.Clear(); 70 trace_parsed_.Clear();
73 json_output_.json_output.clear(); 71 json_output_.json_output.clear();
74 } 72 }
75 73
76 void BeginTrace() { 74 void BeginTrace() {
77 BeginSpecificTrace("*"); 75 BeginSpecificTrace("*");
78 } 76 }
79 77
80 void BeginSpecificTrace(const std::string& filter) { 78 void BeginSpecificTrace(const std::string& filter) {
81 event_watch_notification_ = 0; 79 event_watch_notification_ = 0;
82 notifications_received_ = 0;
83 TraceLog::GetInstance()->SetEnabled(CategoryFilter(filter), 80 TraceLog::GetInstance()->SetEnabled(CategoryFilter(filter),
84 TraceLog::RECORD_UNTIL_FULL); 81 TraceLog::RECORD_UNTIL_FULL);
85 } 82 }
86 83
87 void EndTraceAndFlush() { 84 void EndTraceAndFlush() {
88 WaitableEvent flush_complete_event(false, false); 85 WaitableEvent flush_complete_event(false, false);
89 EndTraceAndFlushAsync(&flush_complete_event); 86 EndTraceAndFlushAsync(&flush_complete_event);
90 flush_complete_event.Wait(); 87 flush_complete_event.Wait();
91 } 88 }
92 89
(...skipping 28 matching lines...) Expand all
121 void FlushMonitoring(WaitableEvent* flush_complete_event) { 118 void FlushMonitoring(WaitableEvent* flush_complete_event) {
122 TraceLog::GetInstance()->FlushButLeaveBufferIntact( 119 TraceLog::GetInstance()->FlushButLeaveBufferIntact(
123 base::Bind(&TraceEventTestFixture::OnTraceDataCollected, 120 base::Bind(&TraceEventTestFixture::OnTraceDataCollected,
124 base::Unretained(static_cast<TraceEventTestFixture*>(this)), 121 base::Unretained(static_cast<TraceEventTestFixture*>(this)),
125 base::Unretained(flush_complete_event))); 122 base::Unretained(flush_complete_event)));
126 } 123 }
127 124
128 virtual void SetUp() OVERRIDE { 125 virtual void SetUp() OVERRIDE {
129 const char* name = PlatformThread::GetName(); 126 const char* name = PlatformThread::GetName();
130 old_thread_name_ = name ? strdup(name) : NULL; 127 old_thread_name_ = name ? strdup(name) : NULL;
131 notifications_received_ = 0;
132 128
133 TraceLog::DeleteForTesting(); 129 TraceLog::DeleteForTesting();
134 TraceLog* tracelog = TraceLog::GetInstance(); 130 TraceLog* tracelog = TraceLog::GetInstance();
135 ASSERT_TRUE(tracelog); 131 ASSERT_TRUE(tracelog);
136 ASSERT_FALSE(tracelog->IsEnabled()); 132 ASSERT_FALSE(tracelog->IsEnabled());
137 tracelog->SetNotificationCallback(
138 base::Bind(&TraceEventTestFixture::OnTraceNotification,
139 base::Unretained(this)));
140 trace_buffer_.SetOutputCallback(json_output_.GetCallback()); 133 trace_buffer_.SetOutputCallback(json_output_.GetCallback());
134 event_watch_notification_ = 0;
141 } 135 }
142 virtual void TearDown() OVERRIDE { 136 virtual void TearDown() OVERRIDE {
143 if (TraceLog::GetInstance()) 137 if (TraceLog::GetInstance())
144 EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled()); 138 EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled());
145 PlatformThread::SetName(old_thread_name_ ? old_thread_name_ : ""); 139 PlatformThread::SetName(old_thread_name_ ? old_thread_name_ : "");
146 free(old_thread_name_); 140 free(old_thread_name_);
147 old_thread_name_ = NULL; 141 old_thread_name_ = NULL;
148 // We want our singleton torn down after each test. 142 // We want our singleton torn down after each test.
149 TraceLog::DeleteForTesting(); 143 TraceLog::DeleteForTesting();
150 } 144 }
151 145
152 char* old_thread_name_; 146 char* old_thread_name_;
153 ListValue trace_parsed_; 147 ListValue trace_parsed_;
154 base::debug::TraceResultBuffer trace_buffer_; 148 base::debug::TraceResultBuffer trace_buffer_;
155 base::debug::TraceResultBuffer::SimpleOutput json_output_; 149 base::debug::TraceResultBuffer::SimpleOutput json_output_;
156 int event_watch_notification_; 150 int event_watch_notification_;
157 int notifications_received_;
158 151
159 private: 152 private:
160 // We want our singleton torn down after each test. 153 // We want our singleton torn down after each test.
161 ShadowingAtExitManager at_exit_manager_; 154 ShadowingAtExitManager at_exit_manager_;
162 Lock lock_; 155 Lock lock_;
163 }; 156 };
164 157
165 void TraceEventTestFixture::OnTraceDataCollected( 158 void TraceEventTestFixture::OnTraceDataCollected(
166 WaitableEvent* flush_complete_event, 159 WaitableEvent* flush_complete_event,
167 const scoped_refptr<base::RefCountedString>& events_str, 160 const scoped_refptr<base::RefCountedString>& events_str,
(...skipping 1014 matching lines...) Expand 10 before | Expand all | Expand 10 after
1182 EXPECT_TRUE(FindMatchingValue("cat", "cat1")); 1175 EXPECT_TRUE(FindMatchingValue("cat", "cat1"));
1183 EXPECT_TRUE(FindMatchingValue("cat", "cat2")); 1176 EXPECT_TRUE(FindMatchingValue("cat", "cat2"));
1184 EXPECT_FALSE(FindMatchingValue("name", "not_inc")); 1177 EXPECT_FALSE(FindMatchingValue("name", "not_inc"));
1185 } 1178 }
1186 1179
1187 1180
1188 // Test EVENT_WATCH_NOTIFICATION 1181 // Test EVENT_WATCH_NOTIFICATION
1189 TEST_F(TraceEventTestFixture, EventWatchNotification) { 1182 TEST_F(TraceEventTestFixture, EventWatchNotification) {
1190 // Basic one occurrence. 1183 // Basic one occurrence.
1191 BeginTrace(); 1184 BeginTrace();
1192 TraceLog::GetInstance()->SetWatchEvent("cat", "event"); 1185 TraceLog::WatchEventCallback callback =
1186 base::Bind(&TraceEventTestFixture::OnWatchEventMatched,
1187 base::Unretained(this));
1188 TraceLog::GetInstance()->SetWatchEvent("cat", "event", callback);
1193 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD); 1189 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
1194 EndTraceAndFlush(); 1190 EndTraceAndFlush();
1195 EXPECT_EQ(event_watch_notification_, 1); 1191 EXPECT_EQ(event_watch_notification_, 1);
1196 1192
1197 // Auto-reset after end trace. 1193 // Auto-reset after end trace.
1198 BeginTrace(); 1194 BeginTrace();
1199 TraceLog::GetInstance()->SetWatchEvent("cat", "event"); 1195 TraceLog::GetInstance()->SetWatchEvent("cat", "event", callback);
1200 EndTraceAndFlush(); 1196 EndTraceAndFlush();
1201 BeginTrace(); 1197 BeginTrace();
1202 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD); 1198 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
1203 EndTraceAndFlush(); 1199 EndTraceAndFlush();
1204 EXPECT_EQ(event_watch_notification_, 0); 1200 EXPECT_EQ(event_watch_notification_, 0);
1205 1201
1206 // Multiple occurrence. 1202 // Multiple occurrence.
1207 BeginTrace(); 1203 BeginTrace();
1208 int num_occurrences = 5; 1204 int num_occurrences = 5;
1209 TraceLog::GetInstance()->SetWatchEvent("cat", "event"); 1205 TraceLog::GetInstance()->SetWatchEvent("cat", "event", callback);
1210 for (int i = 0; i < num_occurrences; ++i) 1206 for (int i = 0; i < num_occurrences; ++i)
1211 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD); 1207 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
1212 EndTraceAndFlush(); 1208 EndTraceAndFlush();
1213 EXPECT_EQ(event_watch_notification_, num_occurrences); 1209 EXPECT_EQ(event_watch_notification_, num_occurrences);
1214 1210
1215 // Wrong category. 1211 // Wrong category.
1216 BeginTrace(); 1212 BeginTrace();
1217 TraceLog::GetInstance()->SetWatchEvent("cat", "event"); 1213 TraceLog::GetInstance()->SetWatchEvent("cat", "event", callback);
1218 TRACE_EVENT_INSTANT0("wrong_cat", "event", TRACE_EVENT_SCOPE_THREAD); 1214 TRACE_EVENT_INSTANT0("wrong_cat", "event", TRACE_EVENT_SCOPE_THREAD);
1219 EndTraceAndFlush(); 1215 EndTraceAndFlush();
1220 EXPECT_EQ(event_watch_notification_, 0); 1216 EXPECT_EQ(event_watch_notification_, 0);
1221 1217
1222 // Wrong name. 1218 // Wrong name.
1223 BeginTrace(); 1219 BeginTrace();
1224 TraceLog::GetInstance()->SetWatchEvent("cat", "event"); 1220 TraceLog::GetInstance()->SetWatchEvent("cat", "event", callback);
1225 TRACE_EVENT_INSTANT0("cat", "wrong_event", TRACE_EVENT_SCOPE_THREAD); 1221 TRACE_EVENT_INSTANT0("cat", "wrong_event", TRACE_EVENT_SCOPE_THREAD);
1226 EndTraceAndFlush(); 1222 EndTraceAndFlush();
1227 EXPECT_EQ(event_watch_notification_, 0); 1223 EXPECT_EQ(event_watch_notification_, 0);
1228 1224
1229 // Canceled. 1225 // Canceled.
1230 BeginTrace(); 1226 BeginTrace();
1231 TraceLog::GetInstance()->SetWatchEvent("cat", "event"); 1227 TraceLog::GetInstance()->SetWatchEvent("cat", "event", callback);
1232 TraceLog::GetInstance()->CancelWatchEvent(); 1228 TraceLog::GetInstance()->CancelWatchEvent();
1233 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD); 1229 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
1234 EndTraceAndFlush(); 1230 EndTraceAndFlush();
1235 EXPECT_EQ(event_watch_notification_, 0); 1231 EXPECT_EQ(event_watch_notification_, 0);
1236 } 1232 }
1237 1233
1238 // Test ASYNC_BEGIN/END events 1234 // Test ASYNC_BEGIN/END events
1239 TEST_F(TraceEventTestFixture, AsyncBeginEndEvents) { 1235 TEST_F(TraceEventTestFixture, AsyncBeginEndEvents) {
1240 BeginTrace(); 1236 BeginTrace();
1241 1237
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
1728 TraceLog::RECORD_UNTIL_FULL); 1724 TraceLog::RECORD_UNTIL_FULL);
1729 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-cc")); 1725 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-cc"));
1730 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-gpu")); 1726 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-gpu"));
1731 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("bar")); 1727 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("bar"));
1732 EXPECT_STREQ("disabled-by-default-cc,disabled-by-default-gpu", 1728 EXPECT_STREQ("disabled-by-default-cc,disabled-by-default-gpu",
1733 trace_log->GetCurrentCategoryFilter().ToString().c_str()); 1729 trace_log->GetCurrentCategoryFilter().ToString().c_str());
1734 trace_log->SetDisabled(); 1730 trace_log->SetDisabled();
1735 trace_log->SetDisabled(); 1731 trace_log->SetDisabled();
1736 } 1732 }
1737 1733
1738 TEST_F(TraceEventTestFixture, TraceOptionsParsing) {
1739 EXPECT_EQ(TraceLog::RECORD_UNTIL_FULL,
1740 TraceLog::TraceOptionsFromString(std::string()));
1741
1742 EXPECT_EQ(TraceLog::RECORD_UNTIL_FULL,
1743 TraceLog::TraceOptionsFromString("record-until-full"));
1744 EXPECT_EQ(TraceLog::RECORD_CONTINUOUSLY,
1745 TraceLog::TraceOptionsFromString("record-continuously"));
1746 EXPECT_EQ(TraceLog::RECORD_UNTIL_FULL | TraceLog::ENABLE_SAMPLING,
1747 TraceLog::TraceOptionsFromString("enable-sampling"));
1748 EXPECT_EQ(TraceLog::RECORD_CONTINUOUSLY | TraceLog::ENABLE_SAMPLING,
1749 TraceLog::TraceOptionsFromString(
1750 "record-continuously,enable-sampling"));
1751 }
1752
1753 TEST_F(TraceEventTestFixture, TraceSampling) { 1734 TEST_F(TraceEventTestFixture, TraceSampling) {
1754 event_watch_notification_ = 0;
1755 TraceLog::GetInstance()->SetEnabled( 1735 TraceLog::GetInstance()->SetEnabled(
1756 CategoryFilter("*"), 1736 CategoryFilter("*"),
1757 TraceLog::Options(TraceLog::RECORD_UNTIL_FULL | 1737 TraceLog::Options(TraceLog::RECORD_UNTIL_FULL |
1758 TraceLog::ENABLE_SAMPLING)); 1738 TraceLog::ENABLE_SAMPLING));
1759 1739
1760 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Stuff"); 1740 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Stuff");
1761 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1741 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1762 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Things"); 1742 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Things");
1763 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1743 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1764 1744
1765 EndTraceAndFlush(); 1745 EndTraceAndFlush();
1766 1746
1767 // Make sure we hit at least once. 1747 // Make sure we hit at least once.
1768 EXPECT_TRUE(FindNamePhase("Stuff", "P")); 1748 EXPECT_TRUE(FindNamePhase("Stuff", "P"));
1769 EXPECT_TRUE(FindNamePhase("Things", "P")); 1749 EXPECT_TRUE(FindNamePhase("Things", "P"));
1770 } 1750 }
1771 1751
1772 TEST_F(TraceEventTestFixture, TraceSamplingScope) { 1752 TEST_F(TraceEventTestFixture, TraceSamplingScope) {
1773 event_watch_notification_ = 0;
1774 TraceLog::GetInstance()->SetEnabled( 1753 TraceLog::GetInstance()->SetEnabled(
1775 CategoryFilter("*"), 1754 CategoryFilter("*"),
1776 TraceLog::Options(TraceLog::RECORD_UNTIL_FULL | 1755 TraceLog::Options(TraceLog::RECORD_UNTIL_FULL |
1777 TraceLog::ENABLE_SAMPLING)); 1756 TraceLog::ENABLE_SAMPLING));
1778 1757
1779 TRACE_EVENT_SCOPED_SAMPLING_STATE("AAA", "name"); 1758 TRACE_EVENT_SCOPED_SAMPLING_STATE("AAA", "name");
1780 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1759 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1781 { 1760 {
1782 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "AAA"); 1761 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "AAA");
1783 TRACE_EVENT_SCOPED_SAMPLING_STATE("BBB", "name"); 1762 TRACE_EVENT_SCOPED_SAMPLING_STATE("BBB", "name");
(...skipping 14 matching lines...) Expand all
1798 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1777 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1799 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "DDD"); 1778 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "DDD");
1800 } 1779 }
1801 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1780 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1802 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "DDD"); 1781 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "DDD");
1803 1782
1804 EndTraceAndFlush(); 1783 EndTraceAndFlush();
1805 } 1784 }
1806 1785
1807 TEST_F(TraceEventTestFixture, TraceContinuousSampling) { 1786 TEST_F(TraceEventTestFixture, TraceContinuousSampling) {
1808 event_watch_notification_ = 0;
1809 TraceLog::GetInstance()->SetEnabled( 1787 TraceLog::GetInstance()->SetEnabled(
1810 CategoryFilter("*"), 1788 CategoryFilter("*"),
1811 TraceLog::Options(TraceLog::MONITOR_SAMPLING)); 1789 TraceLog::Options(TraceLog::MONITOR_SAMPLING));
1812 1790
1813 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "category", "AAA"); 1791 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "category", "AAA");
1814 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1792 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1815 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "category", "BBB"); 1793 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "category", "BBB");
1816 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1794 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1817 1795
1818 FlushMonitoring(); 1796 FlushMonitoring();
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
2038 EXPECT_LE(collected_events_timestamps_[i - 1], 2016 EXPECT_LE(collected_events_timestamps_[i - 1],
2039 collected_events_timestamps_[i]); 2017 collected_events_timestamps_[i]);
2040 } 2018 }
2041 } 2019 }
2042 2020
2043 TEST_F(TraceEventCallbackTest, TraceEventCallbackWhileFull) { 2021 TEST_F(TraceEventCallbackTest, TraceEventCallbackWhileFull) {
2044 TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), 2022 TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
2045 TraceLog::RECORD_UNTIL_FULL); 2023 TraceLog::RECORD_UNTIL_FULL);
2046 do { 2024 do {
2047 TRACE_EVENT_INSTANT0("all", "badger badger", TRACE_EVENT_SCOPE_GLOBAL); 2025 TRACE_EVENT_INSTANT0("all", "badger badger", TRACE_EVENT_SCOPE_GLOBAL);
2048 } while ((notifications_received_ & TraceLog::TRACE_BUFFER_FULL) == 0); 2026 } while (!TraceLog::GetInstance()->BufferIsFull());
2049 TraceLog::GetInstance()->SetEventCallback(Callback); 2027 TraceLog::GetInstance()->SetEventCallback(Callback);
2050 TRACE_EVENT_INSTANT0("all", "a snake", TRACE_EVENT_SCOPE_GLOBAL); 2028 TRACE_EVENT_INSTANT0("all", "a snake", TRACE_EVENT_SCOPE_GLOBAL);
2051 TraceLog::GetInstance()->SetEventCallback(NULL); 2029 TraceLog::GetInstance()->SetEventCallback(NULL);
2052 ASSERT_EQ(1u, collected_events_.size()); 2030 ASSERT_EQ(1u, collected_events_.size());
2053 EXPECT_EQ("a snake", collected_events_[0]); 2031 EXPECT_EQ("a snake", collected_events_[0]);
2054 } 2032 }
2055 2033
2056 TEST_F(TraceEventTestFixture, TraceBufferRingBufferGetReturnChunk) { 2034 TEST_F(TraceEventTestFixture, TraceBufferRingBufferGetReturnChunk) {
2057 TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), 2035 TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
2058 TraceLog::RECORD_CONTINUOUSLY); 2036 TraceLog::RECORD_CONTINUOUSLY);
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
2440 double timestamp; 2418 double timestamp;
2441 EXPECT_TRUE(item->GetDouble("ts", &timestamp)); 2419 EXPECT_TRUE(item->GetDouble("ts", &timestamp));
2442 EXPECT_GE(timestamp, last_timestamp); 2420 EXPECT_GE(timestamp, last_timestamp);
2443 EXPECT_LE(timestamp, end_time); 2421 EXPECT_LE(timestamp, end_time);
2444 last_timestamp = timestamp; 2422 last_timestamp = timestamp;
2445 } 2423 }
2446 } 2424 }
2447 2425
2448 } // namespace debug 2426 } // namespace debug
2449 } // namespace base 2427 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698