Chromium Code Reviews| 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/trace_event/trace_event.h" | 5 #include "base/trace_event/trace_event.h" |
| 6 | 6 |
| 7 #include <math.h> | 7 #include <math.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 1118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1129 TraceLog::GetInstance()->SetEnabled(TraceConfig(kRecordAllCategoryFilter, ""), | 1129 TraceLog::GetInstance()->SetEnabled(TraceConfig(kRecordAllCategoryFilter, ""), |
| 1130 TraceLog::RECORDING_MODE); | 1130 TraceLog::RECORDING_MODE); |
| 1131 EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled()); | 1131 EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled()); |
| 1132 | 1132 |
| 1133 TraceLog::GetInstance()->SetDisabled(); | 1133 TraceLog::GetInstance()->SetDisabled(); |
| 1134 EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled()); | 1134 EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled()); |
| 1135 | 1135 |
| 1136 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer); | 1136 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer); |
| 1137 } | 1137 } |
| 1138 | 1138 |
| 1139 // Tests that a state observer can remove itself during a callback. | |
| 1140 class SelfRemovingEnabledStateObserver | |
| 1141 : public TraceLog::EnabledStateObserver { | |
| 1142 public: | |
| 1143 SelfRemovingEnabledStateObserver() {} | |
| 1144 ~SelfRemovingEnabledStateObserver() override {} | |
| 1145 | |
| 1146 // TraceLog::EnabledStateObserver overrides: | |
| 1147 void OnTraceLogEnabled() override {} | |
| 1148 | |
| 1149 void OnTraceLogDisabled() override { | |
| 1150 TraceLog::GetInstance()->RemoveEnabledStateObserver(this); | |
| 1151 } | |
| 1152 }; | |
| 1153 | |
| 1154 TEST_F(TraceEventTestFixture, SelfRemovingObserver) { | |
|
Primiano Tucci (use gerrit)
2016/04/27 13:50:21
Hmm why are we removing this test? I assume it was
Xiaocheng
2016/04/27 14:18:13
I haven't seen any real use case in the code base
| |
| 1155 ASSERT_EQ(0u, TraceLog::GetInstance()->GetObserverCountForTest()); | |
| 1156 | |
| 1157 SelfRemovingEnabledStateObserver observer; | |
| 1158 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); | |
| 1159 EXPECT_EQ(1u, TraceLog::GetInstance()->GetObserverCountForTest()); | |
| 1160 | |
| 1161 TraceLog::GetInstance()->SetEnabled(TraceConfig(kRecordAllCategoryFilter, ""), | |
| 1162 TraceLog::RECORDING_MODE); | |
| 1163 TraceLog::GetInstance()->SetDisabled(); | |
| 1164 // The observer removed itself on disable. | |
| 1165 EXPECT_EQ(0u, TraceLog::GetInstance()->GetObserverCountForTest()); | |
| 1166 } | |
| 1167 | |
| 1168 bool IsNewTrace() { | 1139 bool IsNewTrace() { |
| 1169 bool is_new_trace; | 1140 bool is_new_trace; |
| 1170 TRACE_EVENT_IS_NEW_TRACE(&is_new_trace); | 1141 TRACE_EVENT_IS_NEW_TRACE(&is_new_trace); |
| 1171 return is_new_trace; | 1142 return is_new_trace; |
| 1172 } | 1143 } |
| 1173 | 1144 |
| 1174 TEST_F(TraceEventTestFixture, NewTraceRecording) { | 1145 TEST_F(TraceEventTestFixture, NewTraceRecording) { |
| 1175 ASSERT_FALSE(IsNewTrace()); | 1146 ASSERT_FALSE(IsNewTrace()); |
| 1176 TraceLog::GetInstance()->SetEnabled(TraceConfig(kRecordAllCategoryFilter, ""), | 1147 TraceLog::GetInstance()->SetEnabled(TraceConfig(kRecordAllCategoryFilter, ""), |
| 1177 TraceLog::RECORDING_MODE); | 1148 TraceLog::RECORDING_MODE); |
| (...skipping 1916 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3094 } | 3065 } |
| 3095 | 3066 |
| 3096 TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) { | 3067 TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) { |
| 3097 const char filter[] = "DELAY(test.Delay;16;oneshot)"; | 3068 const char filter[] = "DELAY(test.Delay;16;oneshot)"; |
| 3098 TraceConfig config(filter, ""); | 3069 TraceConfig config(filter, ""); |
| 3099 EXPECT_EQ(filter, config.ToCategoryFilterString()); | 3070 EXPECT_EQ(filter, config.ToCategoryFilterString()); |
| 3100 } | 3071 } |
| 3101 | 3072 |
| 3102 } // namespace trace_event | 3073 } // namespace trace_event |
| 3103 } // namespace base | 3074 } // namespace base |
| OLD | NEW |