| 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(
|
|
|