| 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..a2da61a3b44e187e7d688292249c685e446db6b4 100644
|
| --- a/base/trace_event/trace_event_unittest.cc
|
| +++ b/base/trace_event/trace_event_unittest.cc
|
| @@ -190,7 +190,6 @@ void TraceEventTestFixture::OnTraceDataCollected(
|
| if (!root.get()) {
|
| LOG(ERROR) << json_output_.json_output;
|
| }
|
| -
|
| ListValue* root_list = NULL;
|
| ASSERT_TRUE(root.get());
|
| ASSERT_TRUE(root->GetAsList(&root_list));
|
| @@ -3099,5 +3098,39 @@ 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);
|
| + // TODO(oysteine): Add TraceConfig tests.
|
| + LOG(ERROR) << trace_config.ToString();
|
| + 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
|
|
|