| Index: base/trace_event/trace_config_unittest.cc
|
| diff --git a/base/trace_event/trace_config_unittest.cc b/base/trace_event/trace_config_unittest.cc
|
| index a2a3703ea3aaa05a1f525a5f04d0c0560331498b..7490fff67e14f2879bc99c514bd6c0a6b1c70881 100644
|
| --- a/base/trace_event/trace_config_unittest.cc
|
| +++ b/base/trace_event/trace_config_unittest.cc
|
| @@ -19,6 +19,45 @@ const char kDefaultTraceConfigString[] =
|
| "\"record_mode\":\"record-until-full\""
|
| "}";
|
|
|
| +const char kMemoryDumpTraceConfigString[] =
|
| + "{"
|
| + "\"enable_argument_filter\":false,"
|
| + "\"enable_sampling\":false,"
|
| + "\"enable_systrace\":false,"
|
| + "\"included_categories\":["
|
| + "\"disabled-by-default-memory-infra\""
|
| + "],"
|
| + "\"memory_dump_config\":{"
|
| + "\"triggers\":["
|
| + "{"
|
| + "\"dump_type\":\"light\","
|
| + "\"periodic_interval_ms\":200"
|
| + "},"
|
| + "{"
|
| + "\"dump_type\":\"heavy\","
|
| + "\"periodic_interval_ms\":2000"
|
| + "}"
|
| + "]"
|
| + "},"
|
| + "\"record_mode\":\"record-until-full\""
|
| + "}";
|
| +
|
| +const char kInvalidMemoryDumpTraceConfigString[] =
|
| + "{"
|
| + "\"enable_argument_filter\":false,"
|
| + "\"enable_sampling\":false,"
|
| + "\"enable_systrace\":false,"
|
| + "\"memory_dump_config\":{"
|
| + "\"triggers\":["
|
| + "{"
|
| + "\"dump_type\":\"light\","
|
| + "\"periodic_interval_ms\":200"
|
| + "}"
|
| + "]"
|
| + "},"
|
| + "\"record_mode\":\"record-until-full\""
|
| + "}";
|
| +
|
| } // namespace
|
|
|
| TEST(TraceConfigTest, TraceConfigFromValidLegacyFormat) {
|
| @@ -488,5 +527,27 @@ TEST(TraceConfigTest, SetTraceOptionValues) {
|
| EXPECT_TRUE(tc.IsSystraceEnabled());
|
| }
|
|
|
| +TEST(TraceConfigTest, TraceConfigFromMemoryConfigString) {
|
| + TraceConfig tc(kMemoryDumpTraceConfigString);
|
| + EXPECT_STREQ(kMemoryDumpTraceConfigString, tc.ToString().c_str());
|
| + EXPECT_TRUE(tc.IsCategoryGroupEnabled("disabled-by-default-memory-infra"));
|
| + EXPECT_EQ(2u, tc.memory_dump_config_list_.size());
|
| +
|
| + EXPECT_EQ(200u, tc.memory_dump_config_list_[0].periodic_interval_ms);
|
| + EXPECT_EQ(MemoryDumpArgs::LevelOfDetail::LOW,
|
| + tc.memory_dump_config_list_[0].dump_level_of_detail);
|
| +
|
| + EXPECT_EQ(2000u, tc.memory_dump_config_list_[1].periodic_interval_ms);
|
| + EXPECT_EQ(MemoryDumpArgs::LevelOfDetail::HIGH,
|
| + tc.memory_dump_config_list_[1].dump_level_of_detail);
|
| +}
|
| +
|
| +TEST(TraceConfigTest, InvalidMemoryConfigString) {
|
| + TraceConfig tc(kInvalidMemoryDumpTraceConfigString);
|
| + EXPECT_EQ(std::string::npos, tc.ToString().find("memory_dump_config"));
|
| + EXPECT_EQ(0u, tc.memory_dump_config_list_.size());
|
| + EXPECT_FALSE(tc.IsCategoryGroupEnabled("disabled-by-default-memory-infra"));
|
| +}
|
| +
|
| } // namespace trace_event
|
| } // namespace base
|
|
|