Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Side by Side Diff: trace_event/trace_config_unittest.cc

Issue 2045303002: Update to Chromium //base at Chromium commit 3e81715e6d3a4324362635aea46ce1f1a163cca1. (Closed) Base URL: https://chromium.googlesource.com/external/github.com/domokit/base@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « trace_event/trace_config.cc ('k') | trace_event/trace_event.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/trace_event/memory_dump_manager.h"
5 #include "base/trace_event/trace_config.h" 6 #include "base/trace_event/trace_config.h"
6 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
7 8
8 namespace base { 9 namespace base {
9 namespace trace_event { 10 namespace trace_event {
10 11
11 namespace { 12 namespace {
12 13
13 const char kDefaultTraceConfigString[] = 14 const char kDefaultTraceConfigString[] =
14 "{" 15 "{"
15 "\"enable_argument_filter\":false," 16 "\"enable_argument_filter\":false,"
16 "\"enable_sampling\":false," 17 "\"enable_sampling\":false,"
17 "\"enable_systrace\":false," 18 "\"enable_systrace\":false,"
18 "\"excluded_categories\":[\"*Debug\",\"*Test\"]," 19 "\"excluded_categories\":[\"*Debug\",\"*Test\"],"
19 "\"record_mode\":\"record-until-full\"" 20 "\"record_mode\":\"record-until-full\""
20 "}"; 21 "}";
21 22
23 const char kMemoryDumpTraceConfigString[] =
24 "{"
25 "\"enable_argument_filter\":false,"
26 "\"enable_sampling\":false,"
27 "\"enable_systrace\":false,"
28 "\"included_categories\":["
29 "\"disabled-by-default-memory-infra\""
30 "],"
31 "\"memory_dump_config\":{"
32 "\"triggers\":["
33 "{"
34 "\"mode\":\"light\","
35 "\"periodic_interval_ms\":200"
36 "},"
37 "{"
38 "\"mode\":\"detailed\","
39 "\"periodic_interval_ms\":2000"
40 "}"
41 "]"
42 "},"
43 "\"record_mode\":\"record-until-full\""
44 "}";
45
46 const char kTraceConfigStringWithEmptyTriggers[] =
47 "{"
48 "\"enable_argument_filter\":false,"
49 "\"enable_sampling\":false,"
50 "\"enable_systrace\":false,"
51 "\"included_categories\":["
52 "\"disabled-by-default-memory-infra\""
53 "],"
54 "\"memory_dump_config\":{"
55 "\"triggers\":["
56 "]"
57 "},"
58 "\"record_mode\":\"record-until-full\""
59 "}";
60
22 } // namespace 61 } // namespace
23 62
24 TEST(TraceConfigTest, TraceConfigFromValidLegacyFormat) { 63 TEST(TraceConfigTest, TraceConfigFromValidLegacyFormat) {
25 // From trace options strings 64 // From trace options strings
26 TraceConfig config("", "record-until-full"); 65 TraceConfig config("", "record-until-full");
27 EXPECT_EQ(RECORD_UNTIL_FULL, config.GetTraceRecordMode()); 66 EXPECT_EQ(RECORD_UNTIL_FULL, config.GetTraceRecordMode());
28 EXPECT_FALSE(config.IsSamplingEnabled()); 67 EXPECT_FALSE(config.IsSamplingEnabled());
29 EXPECT_FALSE(config.IsSystraceEnabled()); 68 EXPECT_FALSE(config.IsSystraceEnabled());
30 EXPECT_FALSE(config.IsArgumentFilterEnabled()); 69 EXPECT_FALSE(config.IsArgumentFilterEnabled());
31 EXPECT_STREQ("record-until-full", config.ToTraceOptionsString().c_str()); 70 EXPECT_STREQ("record-until-full", config.ToTraceOptionsString().c_str());
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 tc.SetTraceRecordMode(RECORD_AS_MUCH_AS_POSSIBLE); 520 tc.SetTraceRecordMode(RECORD_AS_MUCH_AS_POSSIBLE);
482 EXPECT_EQ(RECORD_AS_MUCH_AS_POSSIBLE, tc.GetTraceRecordMode()); 521 EXPECT_EQ(RECORD_AS_MUCH_AS_POSSIBLE, tc.GetTraceRecordMode());
483 522
484 tc.EnableSampling(); 523 tc.EnableSampling();
485 EXPECT_TRUE(tc.IsSamplingEnabled()); 524 EXPECT_TRUE(tc.IsSamplingEnabled());
486 525
487 tc.EnableSystrace(); 526 tc.EnableSystrace();
488 EXPECT_TRUE(tc.IsSystraceEnabled()); 527 EXPECT_TRUE(tc.IsSystraceEnabled());
489 } 528 }
490 529
530 TEST(TraceConfigTest, TraceConfigFromMemoryConfigString) {
531 TraceConfig tc(kMemoryDumpTraceConfigString);
532 EXPECT_STREQ(kMemoryDumpTraceConfigString, tc.ToString().c_str());
533 EXPECT_TRUE(tc.IsCategoryGroupEnabled(MemoryDumpManager::kTraceCategory));
534 EXPECT_EQ(2u, tc.memory_dump_config_.size());
535
536 EXPECT_EQ(200u, tc.memory_dump_config_[0].periodic_interval_ms);
537 EXPECT_EQ(MemoryDumpArgs::LevelOfDetail::LOW,
538 tc.memory_dump_config_[0].level_of_detail);
539
540 EXPECT_EQ(2000u, tc.memory_dump_config_[1].periodic_interval_ms);
541 EXPECT_EQ(MemoryDumpArgs::LevelOfDetail::HIGH,
542 tc.memory_dump_config_[1].level_of_detail);
543 }
544
545 TEST(TraceConfigTest, EmptyMemoryDumpConfigTest) {
546 // Empty trigger list should also be specified when converting back to string.
547 TraceConfig tc(kTraceConfigStringWithEmptyTriggers);
548 EXPECT_STREQ(kTraceConfigStringWithEmptyTriggers, tc.ToString().c_str());
549 EXPECT_EQ(0u, tc.memory_dump_config_.size());
550 }
551
552 TEST(TraceConfigTest, LegacyStringToMemoryDumpConfig) {
553 TraceConfig tc(MemoryDumpManager::kTraceCategory, "");
554 EXPECT_TRUE(tc.IsCategoryGroupEnabled(MemoryDumpManager::kTraceCategory));
555 EXPECT_NE(std::string::npos, tc.ToString().find("memory_dump_config"));
556 EXPECT_EQ(2u, tc.memory_dump_config_.size());
557 }
558
491 } // namespace trace_event 559 } // namespace trace_event
492 } // namespace base 560 } // namespace base
OLDNEW
« no previous file with comments | « trace_event/trace_config.cc ('k') | trace_event/trace_event.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698