Index: base/debug/trace_event_unittest.cc |
diff --git a/base/debug/trace_event_unittest.cc b/base/debug/trace_event_unittest.cc |
index 30ad797e060d96f023da990d15bb6c228a42b5d4..99b669cf97d16a6a37aea6b64a61914a87c73c88 100644 |
--- a/base/debug/trace_event_unittest.cc |
+++ b/base/debug/trace_event_unittest.cc |
@@ -3010,6 +3010,32 @@ TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) { |
EXPECT_EQ(config, filter.ToString()); |
} |
+TEST_F(TraceEventTestFixture, AddCustomTraceEvent) { |
+ TraceLog* const tracer = TraceLog::GetInstance(); |
+ // Make sure old events are flushed. |
+ EndTraceAndFlush(); |
+ EXPECT_EQ(0u, tracer->GetEventsSize()); |
+ const unsigned char* category_group_enabled = |
+ TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED("Java"); |
+ |
+ { |
+ BeginTrace(); |
+ EXPECT_TRUE(TraceLog::IsCategoryGroupEnabledForRecordingMode( |
+ category_group_enabled)); |
+ TraceEventHandle handle = tracer->AddCustomTraceEvent( |
+ TRACE_EVENT_PHASE_BEGIN, category_group_enabled, "name1", 0, |
+ base::TimeTicks::Now()); |
+ size_t num_events = tracer->GetEventsSize(); |
+ EXPECT_GT(num_events, 1u); |
+ const TraceEvent* event1 = tracer->GetEventByHandle(handle); |
+ ASSERT_TRUE(event1); |
+ EXPECT_STREQ("name1", event1->name()); |
+ EXPECT_TRUE(event1->parameter_copy_storage() != NULL); |
+ EXPECT_GT(event1->parameter_copy_storage()->size(), 0u); |
+ EndTraceAndFlush(); |
+ } |
+} |
+ |
TEST(TraceOptionsTest, TraceOptionsFromString) { |
TraceOptions options; |
EXPECT_TRUE(options.SetFromString("record-until-full")); |
@@ -3088,6 +3114,5 @@ TEST(TraceOptionsTest, TraceOptionsToString) { |
} |
} |
- |
} // namespace debug |
} // namespace base |