Index: base/trace_event/trace_event_unittest.cc |
diff --git a/base/trace_event/trace_event_unittest.cc b/base/trace_event/trace_event_unittest.cc |
index 81d043ac3945d3582b0a99c22f4adb22d1bd8a21..a7302527c4f8c1598aca373b3f43d99cb5b57169 100644 |
--- a/base/trace_event/trace_event_unittest.cc |
+++ b/base/trace_event/trace_event_unittest.cc |
@@ -30,8 +30,12 @@ |
#include "base/threading/platform_thread.h" |
#include "base/threading/thread.h" |
#include "base/time/time.h" |
+#include "base/trace_event/event_name_filter.h" |
+#include "base/trace_event/heap_profiler_event_filter.h" |
#include "base/trace_event/trace_buffer.h" |
#include "base/trace_event/trace_event.h" |
+#include "base/trace_event/trace_event_filter.h" |
+#include "base/trace_event/trace_event_filter_test_utils.h" |
#include "base/trace_event/trace_event_synthetic_delay.h" |
#include "base/values.h" |
#include "testing/gmock/include/gmock/gmock.h" |
@@ -2956,45 +2960,6 @@ TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) { |
EXPECT_EQ(filter, config.ToCategoryFilterString()); |
} |
-class TestEventFilter : public TraceLog::TraceEventFilter { |
- public: |
- bool FilterTraceEvent(const TraceEvent& trace_event) const override { |
- filter_trace_event_hit_count_++; |
- return filter_return_value_; |
- } |
- |
- void EndEvent(const char* category_group, const char* name) override { |
- end_event_hit_count_++; |
- } |
- |
- static void set_filter_return_value(bool value) { |
- filter_return_value_ = value; |
- } |
- |
- static size_t filter_trace_event_hit_count() { |
- return filter_trace_event_hit_count_; |
- } |
- static size_t end_event_hit_count() { return end_event_hit_count_; } |
- |
- static void clear_counts() { |
- filter_trace_event_hit_count_ = 0; |
- end_event_hit_count_ = 0; |
- } |
- |
- private: |
- static size_t filter_trace_event_hit_count_; |
- static size_t end_event_hit_count_; |
- static bool filter_return_value_; |
-}; |
- |
-size_t TestEventFilter::filter_trace_event_hit_count_ = 0; |
-size_t TestEventFilter::end_event_hit_count_ = 0; |
-bool TestEventFilter::filter_return_value_ = false; |
- |
-std::unique_ptr<TraceLog::TraceEventFilter> ConstructTestEventFilter() { |
- return WrapUnique(new TestEventFilter); |
-} |
- |
TEST_F(TraceEventTestFixture, TraceFilteringMode) { |
const char config_json[] = |
"{" |
@@ -3007,8 +2972,9 @@ TEST_F(TraceEventTestFixture, TraceFilteringMode) { |
"}"; |
// Run RECORDING_MODE within FILTERING_MODE: |
+ TestEventFilter::HitsCounter filter_hits_counter; |
TestEventFilter::set_filter_return_value(true); |
- TraceLog::SetTraceEventFilterConstructorForTesting(ConstructTestEventFilter); |
+ TraceLog::GetInstance()->SetFilterFactoryForTesting(TestEventFilter::Factory); |
// Only filtering mode is enabled with test filters. |
TraceLog::GetInstance()->SetEnabled(TraceConfig(config_json), |
@@ -3048,10 +3014,10 @@ TEST_F(TraceEventTestFixture, TraceFilteringMode) { |
EXPECT_FALSE(FindMatchingValue("name", "name1")); |
EXPECT_TRUE(FindMatchingValue("cat", "c2")); |
EXPECT_TRUE(FindMatchingValue("name", "name2")); |
- EXPECT_EQ(6u, TestEventFilter::filter_trace_event_hit_count()); |
- EXPECT_EQ(3u, TestEventFilter::end_event_hit_count()); |
+ EXPECT_EQ(6u, filter_hits_counter.filter_trace_event_hit_count); |
+ EXPECT_EQ(3u, filter_hits_counter.end_event_hit_count); |
Clear(); |
- TestEventFilter::clear_counts(); |
+ filter_hits_counter.Reset(); |
// Run FILTERING_MODE within RECORDING_MODE: |
// Only recording mode is enabled and all events must be recorded. |
@@ -3090,10 +3056,9 @@ TEST_F(TraceEventTestFixture, TraceFilteringMode) { |
EXPECT_TRUE(FindMatchingValue("name", "name2")); |
EXPECT_FALSE(FindMatchingValue("cat", "c1")); |
EXPECT_FALSE(FindMatchingValue("name", "name1")); |
- EXPECT_EQ(1u, TestEventFilter::filter_trace_event_hit_count()); |
- EXPECT_EQ(1u, TestEventFilter::end_event_hit_count()); |
+ EXPECT_EQ(1u, filter_hits_counter.filter_trace_event_hit_count); |
+ EXPECT_EQ(1u, filter_hits_counter.end_event_hit_count); |
Clear(); |
- TestEventFilter::clear_counts(); |
} |
TEST_F(TraceEventTestFixture, EventFiltering) { |
@@ -3111,8 +3076,10 @@ TEST_F(TraceEventTestFixture, EventFiltering) { |
" ]" |
"}"; |
+ TestEventFilter::HitsCounter filter_hits_counter; |
TestEventFilter::set_filter_return_value(true); |
- TraceLog::SetTraceEventFilterConstructorForTesting(ConstructTestEventFilter); |
+ TraceLog::GetInstance()->SetFilterFactoryForTesting(TestEventFilter::Factory); |
+ |
TraceConfig trace_config(config_json); |
TraceLog::GetInstance()->SetEnabled( |
trace_config, TraceLog::RECORDING_MODE | TraceLog::FILTERING_MODE); |
@@ -3127,9 +3094,8 @@ TEST_F(TraceEventTestFixture, EventFiltering) { |
EndTraceAndFlush(); |
- EXPECT_EQ(3u, TestEventFilter::filter_trace_event_hit_count()); |
- EXPECT_EQ(1u, TestEventFilter::end_event_hit_count()); |
- TestEventFilter::clear_counts(); |
+ EXPECT_EQ(3u, filter_hits_counter.filter_trace_event_hit_count); |
+ EXPECT_EQ(1u, filter_hits_counter.end_event_hit_count); |
} |
TEST_F(TraceEventTestFixture, EventWhitelistFiltering) { |
@@ -3150,7 +3116,7 @@ TEST_F(TraceEventTestFixture, EventWhitelistFiltering) { |
" " |
" ]" |
"}", |
- TraceLog::TraceEventFilter::kEventWhitelistPredicate); |
+ EventNameFilter::kName); |
TraceConfig trace_config(config_json); |
TraceLog::GetInstance()->SetEnabled( |
@@ -3182,7 +3148,7 @@ TEST_F(TraceEventTestFixture, HeapProfilerFiltering) { |
" }" |
" ]" |
"}", |
- TraceLog::TraceEventFilter::kHeapProfilerPredicate); |
+ HeapProfilerEventFilter::kName); |
TraceConfig trace_config(config_json); |
TraceLog::GetInstance()->SetEnabled( |