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

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

Issue 89753004: Revert 237280 "Remove TraceController" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years 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 OnWatchEventMatched() { 56 void OnTraceNotification(int notification) {
57 ++event_watch_notification_; 57 if (notification & TraceLog::EVENT_WATCH_NOTIFICATION)
58 ++event_watch_notification_;
59 notifications_received_ |= notification;
58 } 60 }
59 DictionaryValue* FindMatchingTraceEntry(const JsonKeyValue* key_values); 61 DictionaryValue* FindMatchingTraceEntry(const JsonKeyValue* key_values);
60 DictionaryValue* FindNamePhase(const char* name, const char* phase); 62 DictionaryValue* FindNamePhase(const char* name, const char* phase);
61 DictionaryValue* FindNamePhaseKeyValue(const char* name, 63 DictionaryValue* FindNamePhaseKeyValue(const char* name,
62 const char* phase, 64 const char* phase,
63 const char* key, 65 const char* key,
64 const char* value); 66 const char* value);
65 bool FindMatchingValue(const char* key, 67 bool FindMatchingValue(const char* key,
66 const char* value); 68 const char* value);
67 bool FindNonMatchingValue(const char* key, 69 bool FindNonMatchingValue(const char* key,
68 const char* value); 70 const char* value);
69 void Clear() { 71 void Clear() {
70 trace_parsed_.Clear(); 72 trace_parsed_.Clear();
71 json_output_.json_output.clear(); 73 json_output_.json_output.clear();
72 } 74 }
73 75
74 void BeginTrace() { 76 void BeginTrace() {
75 BeginSpecificTrace("*"); 77 BeginSpecificTrace("*");
76 } 78 }
77 79
78 void BeginSpecificTrace(const std::string& filter) { 80 void BeginSpecificTrace(const std::string& filter) {
79 event_watch_notification_ = 0; 81 event_watch_notification_ = 0;
82 notifications_received_ = 0;
80 TraceLog::GetInstance()->SetEnabled(CategoryFilter(filter), 83 TraceLog::GetInstance()->SetEnabled(CategoryFilter(filter),
81 TraceLog::RECORD_UNTIL_FULL); 84 TraceLog::RECORD_UNTIL_FULL);
82 } 85 }
83 86
84 void EndTraceAndFlush() { 87 void EndTraceAndFlush() {
85 WaitableEvent flush_complete_event(false, false); 88 WaitableEvent flush_complete_event(false, false);
86 EndTraceAndFlushAsync(&flush_complete_event); 89 EndTraceAndFlushAsync(&flush_complete_event);
87 flush_complete_event.Wait(); 90 flush_complete_event.Wait();
88 } 91 }
89 92
(...skipping 27 matching lines...) Expand all
117 void FlushMonitoring(WaitableEvent* flush_complete_event) { 120 void FlushMonitoring(WaitableEvent* flush_complete_event) {
118 TraceLog::GetInstance()->FlushButLeaveBufferIntact( 121 TraceLog::GetInstance()->FlushButLeaveBufferIntact(
119 base::Bind(&TraceEventTestFixture::OnTraceDataCollected, 122 base::Bind(&TraceEventTestFixture::OnTraceDataCollected,
120 base::Unretained(static_cast<TraceEventTestFixture*>(this)), 123 base::Unretained(static_cast<TraceEventTestFixture*>(this)),
121 base::Unretained(flush_complete_event))); 124 base::Unretained(flush_complete_event)));
122 } 125 }
123 126
124 virtual void SetUp() OVERRIDE { 127 virtual void SetUp() OVERRIDE {
125 const char* name = PlatformThread::GetName(); 128 const char* name = PlatformThread::GetName();
126 old_thread_name_ = name ? strdup(name) : NULL; 129 old_thread_name_ = name ? strdup(name) : NULL;
130 notifications_received_ = 0;
127 131
128 TraceLog::DeleteForTesting(); 132 TraceLog::DeleteForTesting();
129 TraceLog* tracelog = TraceLog::GetInstance(); 133 TraceLog* tracelog = TraceLog::GetInstance();
130 ASSERT_TRUE(tracelog); 134 ASSERT_TRUE(tracelog);
131 ASSERT_FALSE(tracelog->IsEnabled()); 135 ASSERT_FALSE(tracelog->IsEnabled());
136 tracelog->SetNotificationCallback(
137 base::Bind(&TraceEventTestFixture::OnTraceNotification,
138 base::Unretained(this)));
132 trace_buffer_.SetOutputCallback(json_output_.GetCallback()); 139 trace_buffer_.SetOutputCallback(json_output_.GetCallback());
133 event_watch_notification_ = 0;
134 } 140 }
135 virtual void TearDown() OVERRIDE { 141 virtual void TearDown() OVERRIDE {
136 if (TraceLog::GetInstance()) 142 if (TraceLog::GetInstance())
137 EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled()); 143 EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled());
138 PlatformThread::SetName(old_thread_name_ ? old_thread_name_ : ""); 144 PlatformThread::SetName(old_thread_name_ ? old_thread_name_ : "");
139 free(old_thread_name_); 145 free(old_thread_name_);
140 old_thread_name_ = NULL; 146 old_thread_name_ = NULL;
141 // We want our singleton torn down after each test. 147 // We want our singleton torn down after each test.
142 TraceLog::DeleteForTesting(); 148 TraceLog::DeleteForTesting();
143 } 149 }
144 150
145 char* old_thread_name_; 151 char* old_thread_name_;
146 ListValue trace_parsed_; 152 ListValue trace_parsed_;
147 base::debug::TraceResultBuffer trace_buffer_; 153 base::debug::TraceResultBuffer trace_buffer_;
148 base::debug::TraceResultBuffer::SimpleOutput json_output_; 154 base::debug::TraceResultBuffer::SimpleOutput json_output_;
149 int event_watch_notification_; 155 int event_watch_notification_;
156 int notifications_received_;
150 157
151 private: 158 private:
152 // We want our singleton torn down after each test. 159 // We want our singleton torn down after each test.
153 ShadowingAtExitManager at_exit_manager_; 160 ShadowingAtExitManager at_exit_manager_;
154 Lock lock_; 161 Lock lock_;
155 }; 162 };
156 163
157 void TraceEventTestFixture::OnTraceDataCollected( 164 void TraceEventTestFixture::OnTraceDataCollected(
158 WaitableEvent* flush_complete_event, 165 WaitableEvent* flush_complete_event,
159 const scoped_refptr<base::RefCountedString>& events_str, 166 const scoped_refptr<base::RefCountedString>& events_str,
(...skipping 1014 matching lines...) Expand 10 before | Expand all | Expand 10 after
1174 EXPECT_TRUE(FindMatchingValue("cat", "cat1")); 1181 EXPECT_TRUE(FindMatchingValue("cat", "cat1"));
1175 EXPECT_TRUE(FindMatchingValue("cat", "cat2")); 1182 EXPECT_TRUE(FindMatchingValue("cat", "cat2"));
1176 EXPECT_FALSE(FindMatchingValue("name", "not_inc")); 1183 EXPECT_FALSE(FindMatchingValue("name", "not_inc"));
1177 } 1184 }
1178 1185
1179 1186
1180 // Test EVENT_WATCH_NOTIFICATION 1187 // Test EVENT_WATCH_NOTIFICATION
1181 TEST_F(TraceEventTestFixture, EventWatchNotification) { 1188 TEST_F(TraceEventTestFixture, EventWatchNotification) {
1182 // Basic one occurrence. 1189 // Basic one occurrence.
1183 BeginTrace(); 1190 BeginTrace();
1184 TraceLog::WatchEventCallback callback = 1191 TraceLog::GetInstance()->SetWatchEvent("cat", "event");
1185 base::Bind(&TraceEventTestFixture::OnWatchEventMatched,
1186 base::Unretained(this));
1187 TraceLog::GetInstance()->SetWatchEvent("cat", "event", callback);
1188 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD); 1192 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
1189 EndTraceAndFlush(); 1193 EndTraceAndFlush();
1190 EXPECT_EQ(event_watch_notification_, 1); 1194 EXPECT_EQ(event_watch_notification_, 1);
1191 1195
1192 // Auto-reset after end trace. 1196 // Auto-reset after end trace.
1193 BeginTrace(); 1197 BeginTrace();
1194 TraceLog::GetInstance()->SetWatchEvent("cat", "event", callback); 1198 TraceLog::GetInstance()->SetWatchEvent("cat", "event");
1195 EndTraceAndFlush(); 1199 EndTraceAndFlush();
1196 BeginTrace(); 1200 BeginTrace();
1197 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD); 1201 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
1198 EndTraceAndFlush(); 1202 EndTraceAndFlush();
1199 EXPECT_EQ(event_watch_notification_, 0); 1203 EXPECT_EQ(event_watch_notification_, 0);
1200 1204
1201 // Multiple occurrence. 1205 // Multiple occurrence.
1202 BeginTrace(); 1206 BeginTrace();
1203 int num_occurrences = 5; 1207 int num_occurrences = 5;
1204 TraceLog::GetInstance()->SetWatchEvent("cat", "event", callback); 1208 TraceLog::GetInstance()->SetWatchEvent("cat", "event");
1205 for (int i = 0; i < num_occurrences; ++i) 1209 for (int i = 0; i < num_occurrences; ++i)
1206 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD); 1210 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
1207 EndTraceAndFlush(); 1211 EndTraceAndFlush();
1208 EXPECT_EQ(event_watch_notification_, num_occurrences); 1212 EXPECT_EQ(event_watch_notification_, num_occurrences);
1209 1213
1210 // Wrong category. 1214 // Wrong category.
1211 BeginTrace(); 1215 BeginTrace();
1212 TraceLog::GetInstance()->SetWatchEvent("cat", "event", callback); 1216 TraceLog::GetInstance()->SetWatchEvent("cat", "event");
1213 TRACE_EVENT_INSTANT0("wrong_cat", "event", TRACE_EVENT_SCOPE_THREAD); 1217 TRACE_EVENT_INSTANT0("wrong_cat", "event", TRACE_EVENT_SCOPE_THREAD);
1214 EndTraceAndFlush(); 1218 EndTraceAndFlush();
1215 EXPECT_EQ(event_watch_notification_, 0); 1219 EXPECT_EQ(event_watch_notification_, 0);
1216 1220
1217 // Wrong name. 1221 // Wrong name.
1218 BeginTrace(); 1222 BeginTrace();
1219 TraceLog::GetInstance()->SetWatchEvent("cat", "event", callback); 1223 TraceLog::GetInstance()->SetWatchEvent("cat", "event");
1220 TRACE_EVENT_INSTANT0("cat", "wrong_event", TRACE_EVENT_SCOPE_THREAD); 1224 TRACE_EVENT_INSTANT0("cat", "wrong_event", TRACE_EVENT_SCOPE_THREAD);
1221 EndTraceAndFlush(); 1225 EndTraceAndFlush();
1222 EXPECT_EQ(event_watch_notification_, 0); 1226 EXPECT_EQ(event_watch_notification_, 0);
1223 1227
1224 // Canceled. 1228 // Canceled.
1225 BeginTrace(); 1229 BeginTrace();
1226 TraceLog::GetInstance()->SetWatchEvent("cat", "event", callback); 1230 TraceLog::GetInstance()->SetWatchEvent("cat", "event");
1227 TraceLog::GetInstance()->CancelWatchEvent(); 1231 TraceLog::GetInstance()->CancelWatchEvent();
1228 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD); 1232 TRACE_EVENT_INSTANT0("cat", "event", TRACE_EVENT_SCOPE_THREAD);
1229 EndTraceAndFlush(); 1233 EndTraceAndFlush();
1230 EXPECT_EQ(event_watch_notification_, 0); 1234 EXPECT_EQ(event_watch_notification_, 0);
1231 } 1235 }
1232 1236
1233 // Test ASYNC_BEGIN/END events 1237 // Test ASYNC_BEGIN/END events
1234 TEST_F(TraceEventTestFixture, AsyncBeginEndEvents) { 1238 TEST_F(TraceEventTestFixture, AsyncBeginEndEvents) {
1235 BeginTrace(); 1239 BeginTrace();
1236 1240
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
1723 TraceLog::RECORD_UNTIL_FULL); 1727 TraceLog::RECORD_UNTIL_FULL);
1724 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-cc")); 1728 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-cc"));
1725 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-gpu")); 1729 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("disabled-by-default-gpu"));
1726 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("bar")); 1730 EXPECT_TRUE(*trace_log->GetCategoryGroupEnabled("bar"));
1727 EXPECT_STREQ("disabled-by-default-cc,disabled-by-default-gpu", 1731 EXPECT_STREQ("disabled-by-default-cc,disabled-by-default-gpu",
1728 trace_log->GetCurrentCategoryFilter().ToString().c_str()); 1732 trace_log->GetCurrentCategoryFilter().ToString().c_str());
1729 trace_log->SetDisabled(); 1733 trace_log->SetDisabled();
1730 trace_log->SetDisabled(); 1734 trace_log->SetDisabled();
1731 } 1735 }
1732 1736
1737 TEST_F(TraceEventTestFixture, TraceOptionsParsing) {
1738 EXPECT_EQ(TraceLog::RECORD_UNTIL_FULL,
1739 TraceLog::TraceOptionsFromString(std::string()));
1740
1741 EXPECT_EQ(TraceLog::RECORD_UNTIL_FULL,
1742 TraceLog::TraceOptionsFromString("record-until-full"));
1743 EXPECT_EQ(TraceLog::RECORD_CONTINUOUSLY,
1744 TraceLog::TraceOptionsFromString("record-continuously"));
1745 EXPECT_EQ(TraceLog::RECORD_UNTIL_FULL | TraceLog::ENABLE_SAMPLING,
1746 TraceLog::TraceOptionsFromString("enable-sampling"));
1747 EXPECT_EQ(TraceLog::RECORD_CONTINUOUSLY | TraceLog::ENABLE_SAMPLING,
1748 TraceLog::TraceOptionsFromString(
1749 "record-continuously,enable-sampling"));
1750 }
1751
1733 TEST_F(TraceEventTestFixture, TraceSampling) { 1752 TEST_F(TraceEventTestFixture, TraceSampling) {
1753 event_watch_notification_ = 0;
1734 TraceLog::GetInstance()->SetEnabled( 1754 TraceLog::GetInstance()->SetEnabled(
1735 CategoryFilter("*"), 1755 CategoryFilter("*"),
1736 TraceLog::Options(TraceLog::RECORD_UNTIL_FULL | 1756 TraceLog::Options(TraceLog::RECORD_UNTIL_FULL |
1737 TraceLog::ENABLE_SAMPLING)); 1757 TraceLog::ENABLE_SAMPLING));
1738 1758
1739 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Stuff"); 1759 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Stuff");
1740 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1760 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1741 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Things"); 1761 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "cc", "Things");
1742 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1762 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1743 1763
1744 EndTraceAndFlush(); 1764 EndTraceAndFlush();
1745 1765
1746 // Make sure we hit at least once. 1766 // Make sure we hit at least once.
1747 EXPECT_TRUE(FindNamePhase("Stuff", "P")); 1767 EXPECT_TRUE(FindNamePhase("Stuff", "P"));
1748 EXPECT_TRUE(FindNamePhase("Things", "P")); 1768 EXPECT_TRUE(FindNamePhase("Things", "P"));
1749 } 1769 }
1750 1770
1751 TEST_F(TraceEventTestFixture, TraceSamplingScope) { 1771 TEST_F(TraceEventTestFixture, TraceSamplingScope) {
1772 event_watch_notification_ = 0;
1752 TraceLog::GetInstance()->SetEnabled( 1773 TraceLog::GetInstance()->SetEnabled(
1753 CategoryFilter("*"), 1774 CategoryFilter("*"),
1754 TraceLog::Options(TraceLog::RECORD_UNTIL_FULL | 1775 TraceLog::Options(TraceLog::RECORD_UNTIL_FULL |
1755 TraceLog::ENABLE_SAMPLING)); 1776 TraceLog::ENABLE_SAMPLING));
1756 1777
1757 TRACE_EVENT_SCOPED_SAMPLING_STATE("AAA", "name"); 1778 TRACE_EVENT_SCOPED_SAMPLING_STATE("AAA", "name");
1758 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1779 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1759 { 1780 {
1760 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "AAA"); 1781 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "AAA");
1761 TRACE_EVENT_SCOPED_SAMPLING_STATE("BBB", "name"); 1782 TRACE_EVENT_SCOPED_SAMPLING_STATE("BBB", "name");
(...skipping 14 matching lines...) Expand all
1776 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1797 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1777 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "DDD"); 1798 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "DDD");
1778 } 1799 }
1779 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1800 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1780 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "DDD"); 1801 EXPECT_STREQ(TRACE_EVENT_GET_SAMPLING_STATE(), "DDD");
1781 1802
1782 EndTraceAndFlush(); 1803 EndTraceAndFlush();
1783 } 1804 }
1784 1805
1785 TEST_F(TraceEventTestFixture, TraceContinuousSampling) { 1806 TEST_F(TraceEventTestFixture, TraceContinuousSampling) {
1807 event_watch_notification_ = 0;
1786 TraceLog::GetInstance()->SetEnabled( 1808 TraceLog::GetInstance()->SetEnabled(
1787 CategoryFilter("*"), 1809 CategoryFilter("*"),
1788 TraceLog::Options(TraceLog::MONITOR_SAMPLING)); 1810 TraceLog::Options(TraceLog::MONITOR_SAMPLING));
1789 1811
1790 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "category", "AAA"); 1812 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "category", "AAA");
1791 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1813 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1792 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "category", "BBB"); 1814 TRACE_EVENT_SET_SAMPLING_STATE_FOR_BUCKET(1, "category", "BBB");
1793 TraceLog::GetInstance()->WaitSamplingEventForTesting(); 1815 TraceLog::GetInstance()->WaitSamplingEventForTesting();
1794 1816
1795 FlushMonitoring(); 1817 FlushMonitoring();
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
2042 EXPECT_LE(collected_events_timestamps_[i - 1], 2064 EXPECT_LE(collected_events_timestamps_[i - 1],
2043 collected_events_timestamps_[i]); 2065 collected_events_timestamps_[i]);
2044 } 2066 }
2045 } 2067 }
2046 2068
2047 TEST_F(TraceEventCallbackTest, TraceEventCallbackWhileFull) { 2069 TEST_F(TraceEventCallbackTest, TraceEventCallbackWhileFull) {
2048 TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"), 2070 TraceLog::GetInstance()->SetEnabled(CategoryFilter("*"),
2049 TraceLog::RECORD_UNTIL_FULL); 2071 TraceLog::RECORD_UNTIL_FULL);
2050 do { 2072 do {
2051 TRACE_EVENT_INSTANT0("all", "badger badger", TRACE_EVENT_SCOPE_GLOBAL); 2073 TRACE_EVENT_INSTANT0("all", "badger badger", TRACE_EVENT_SCOPE_GLOBAL);
2052 } while (!TraceLog::GetInstance()->BufferIsFull()); 2074 } while ((notifications_received_ & TraceLog::TRACE_BUFFER_FULL) == 0);
2053 TraceLog::GetInstance()->SetEventCallbackEnabled(CategoryFilter("*"), 2075 TraceLog::GetInstance()->SetEventCallbackEnabled(CategoryFilter("*"),
2054 Callback); 2076 Callback);
2055 TRACE_EVENT_INSTANT0("all", "a snake", TRACE_EVENT_SCOPE_GLOBAL); 2077 TRACE_EVENT_INSTANT0("all", "a snake", TRACE_EVENT_SCOPE_GLOBAL);
2056 TraceLog::GetInstance()->SetEventCallbackDisabled(); 2078 TraceLog::GetInstance()->SetEventCallbackDisabled();
2057 ASSERT_EQ(1u, collected_events_names_.size()); 2079 ASSERT_EQ(1u, collected_events_names_.size());
2058 EXPECT_EQ("a snake", collected_events_names_[0]); 2080 EXPECT_EQ("a snake", collected_events_names_[0]);
2059 } 2081 }
2060 2082
2061 // 1: Enable callback, enable recording, disable callback, disable recording. 2083 // 1: Enable callback, enable recording, disable callback, disable recording.
2062 TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording1) { 2084 TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording1) {
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
2555 double timestamp; 2577 double timestamp;
2556 EXPECT_TRUE(item->GetDouble("ts", &timestamp)); 2578 EXPECT_TRUE(item->GetDouble("ts", &timestamp));
2557 EXPECT_GE(timestamp, last_timestamp); 2579 EXPECT_GE(timestamp, last_timestamp);
2558 EXPECT_LE(timestamp, end_time); 2580 EXPECT_LE(timestamp, end_time);
2559 last_timestamp = timestamp; 2581 last_timestamp = timestamp;
2560 } 2582 }
2561 } 2583 }
2562 2584
2563 } // namespace debug 2585 } // namespace debug
2564 } // namespace base 2586 } // namespace base
OLDNEW
« no previous file with comments | « trunk/src/base/debug/trace_event_impl.cc ('k') | trunk/src/chrome/browser/automation/automation_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698