| 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 e626a779ed5e33cc5b1eb8dedac1435c0984b282..2d4355c5590f0237ff9bfefc2c24e20ba1df95c0 100644
|
| --- a/base/trace_event/trace_event_unittest.cc
|
| +++ b/base/trace_event/trace_event_unittest.cc
|
| @@ -3099,5 +3099,39 @@ TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) {
|
| EXPECT_EQ(filter, config.ToCategoryFilterString());
|
| }
|
|
|
| +TEST_F(TraceEventTestFixture, EventFiltering) {
|
| + const char config_json[] =
|
| + "{"
|
| + " \"included_categories\": ["
|
| + " \"filtered_cat\","
|
| + " \"unfiltered_cat\"],"
|
| + " \"event_filters\": ["
|
| + " {"
|
| + " \"filter_predicate\": \"event_whitelist_predicate\", "
|
| + " \"included_categories\": [\"*\"], "
|
| + " \"excluded_categories\": [\"unfiltered_cat\"], "
|
| + " \"filter_args\": {"
|
| + " \"event_name_whitelist\": [\"a snake\", \"a dog\"]"
|
| + " }"
|
| + " }"
|
| + " "
|
| + " ]"
|
| + "}";
|
| +
|
| + TraceConfig trace_config(config_json);
|
| + TraceLog::GetInstance()->SetEnabled(trace_config, TraceLog::RECORDING_MODE);
|
| + EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled());
|
| +
|
| + TRACE_EVENT0("filtered_cat", "a snake");
|
| + TRACE_EVENT0("filtered_cat", "a mushroom");
|
| + TRACE_EVENT0("unfiltered_cat", "a cat");
|
| +
|
| + EndTraceAndFlush();
|
| +
|
| + EXPECT_TRUE(FindMatchingValue("name", "a snake"));
|
| + EXPECT_FALSE(FindMatchingValue("name", "a mushroom"));
|
| + EXPECT_TRUE(FindMatchingValue("name", "a cat"));
|
| +}
|
| +
|
| } // namespace trace_event
|
| } // namespace base
|
|
|