Chromium Code Reviews| 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( |