| 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 6a1d8a4991d28952f25e900e7378c48cd6ef80f9..bab27870cf8c25279f475eaa17e2122b8f1dc669 100644
|
| --- a/base/trace_event/trace_event_unittest.cc
|
| +++ b/base/trace_event/trace_event_unittest.cc
|
| @@ -3099,5 +3099,37 @@ TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) {
|
| EXPECT_EQ(filter, config.ToCategoryFilterString());
|
| }
|
|
|
| +TEST_F(TraceEventTestFixture, EventFiltering) {
|
| + const char config_json[] =
|
| + "{"
|
| + " \"included_categories\": ["
|
| + " \"filtered_cat\","
|
| + " \"unfiltered_cat\"],"
|
| + " \"category_event_filters\": ["
|
| + " {"
|
| + " \"predicate\": \"event_whitelist_predicate\", "
|
| + " \"included_categories\": [\"*\"], "
|
| + " \"excluded_categories\": [\"unfiltered_cat\"], "
|
| + " \"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
|
|
|