Chromium Code Reviews| 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..38259485838d5a9a2fd393cbf7b7c0e044316f34 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\":[" |
| + "{" |
| + "\"level_of_detail\":\"low\"," |
| + "\"periodic_interval_ms\":200" |
| + "}," |
| + "{" |
| + "\"level_of_detail\":\"high\"," |
| + "\"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\":[" |
| + "{" |
| + "\"level_of_detail\":\"low\"," |
| + "\"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_.size()); |
| + |
| + EXPECT_EQ(200u, tc.memory_dump_config_[0].periodic_interval_ms); |
| + EXPECT_EQ(MemoryDumpArgs::LevelOfDetail::LOW, |
| + tc.memory_dump_config_[0].level_of_detail); |
| + |
| + EXPECT_EQ(2000u, tc.memory_dump_config_[1].periodic_interval_ms); |
| + EXPECT_EQ(MemoryDumpArgs::LevelOfDetail::HIGH, |
| + tc.memory_dump_config_[1].level_of_detail); |
| +} |
| + |
| +TEST(TraceConfigTest, InvalidMemoryConfigString) { |
|
Primiano Tucci (use gerrit)
2015/08/25 18:27:37
Not sure if this makes sense anymore. Instead have
ssid
2015/08/26 10:19:51
Made new test for this reason.
|
| + TraceConfig tc(kInvalidMemoryDumpTraceConfigString); |
| + EXPECT_EQ(std::string::npos, tc.ToString().find("memory_dump_config")); |
| + EXPECT_EQ(0u, tc.memory_dump_config_.size()); |
| + EXPECT_FALSE(tc.IsCategoryGroupEnabled("disabled-by-default-memory-infra")); |
| +} |
| + |
| } // namespace trace_event |
| } // namespace base |