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..7a9d284876ba2f0f322de6a0591169912912f98f 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,8 @@ TEST_F(TraceEventTestFixture, TraceFilteringMode) { |
"}"; |
// Run RECORDING_MODE within FILTERING_MODE: |
+ TestEventFilter::clear_counts(); |
Primiano Tucci (use gerrit)
2016/12/06 14:02:31
this is purely for test isolation. I think I notic
kraynov
2016/12/06 18:24:23
I would prefer not making stateful design.
Primiano Tucci (use gerrit)
2016/12/07 11:17:47
Fixed by splitting out the HitCounter class
|
TestEventFilter::set_filter_return_value(true); |
- TraceLog::SetTraceEventFilterConstructorForTesting(ConstructTestEventFilter); |
// Only filtering mode is enabled with test filters. |
TraceLog::GetInstance()->SetEnabled(TraceConfig(config_json), |
@@ -3111,8 +3076,9 @@ TEST_F(TraceEventTestFixture, EventFiltering) { |
" ]" |
"}"; |
+ TestEventFilter::clear_counts(); |
TestEventFilter::set_filter_return_value(true); |
- TraceLog::SetTraceEventFilterConstructorForTesting(ConstructTestEventFilter); |
+ |
TraceConfig trace_config(config_json); |
TraceLog::GetInstance()->SetEnabled( |
trace_config, TraceLog::RECORDING_MODE | TraceLog::FILTERING_MODE); |
@@ -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( |