Index: base/debug/trace_event_unittest.cc |
diff --git a/base/debug/trace_event_unittest.cc b/base/debug/trace_event_unittest.cc |
index 75a6ce4e5dce8d8bcf92df7ae83e93ece2038508..4917896b9d0f90b9f748e02e9be9028d514e09ca 100644 |
--- a/base/debug/trace_event_unittest.cc |
+++ b/base/debug/trace_event_unittest.cc |
@@ -379,6 +379,18 @@ void TraceWithAllMacroVariants(WaitableEvent* task_complete_event) { |
TRACE_COUNTER_ID1("all", "TRACE_COUNTER_ID1 call", 0x319009, 31415); |
TRACE_COUNTER_ID2("all", "TRACE_COUNTER_ID2 call", 0x319009, |
"a", 30000, "b", 1415); |
+ |
+ TRACE_EVENT_COPY_BEGIN_EXPLICIT0("all", |
+ "TRACE_EVENT_COPY_BEGIN_EXPLICIT0 call", |
+ 42, 1, 12345); |
+ TRACE_EVENT_COPY_END_EXPLICIT0("all", "TRACE_EVENT_COPY_END_EXPLICIT0 call", |
+ 42, 1, 23456); |
+ |
+ TRACE_EVENT_BEGIN_EXPLICIT0("all", "TRACE_EVENT_BEGIN_EXPLICIT0 call", |
+ 42, 2, 34567); |
+ TRACE_EVENT_END_EXPLICIT0("all", "TRACE_EVENT_END_EXPLICIT0 call", |
+ 42, 2, 45678); |
+ |
} // Scope close causes TRACE_EVENT0 etc to send their END events. |
if (task_complete_event) |
@@ -598,6 +610,54 @@ void ValidateAllTraceMacrosCreatedData(const ListValue& trace_parsed) { |
EXPECT_TRUE((item && item->GetInteger("args.b", &value))); |
EXPECT_EQ(1415, value); |
} |
+ |
+ EXPECT_FIND_("TRACE_EVENT_COPY_BEGIN_EXPLICIT0 call"); |
+ { |
+ int val; |
+ EXPECT_TRUE((item && item->GetInteger("ts", &val))); |
+ EXPECT_EQ(12345, val); |
+ EXPECT_TRUE((item && item->GetInteger("tid", &val))); |
+ EXPECT_EQ(42, val); |
+ std::string id; |
+ EXPECT_TRUE((item && item->GetString("id", &id))); |
+ EXPECT_EQ("1", id); |
+ } |
+ |
+ EXPECT_FIND_("TRACE_EVENT_COPY_END_EXPLICIT0 call"); |
+ { |
+ int val; |
+ EXPECT_TRUE((item && item->GetInteger("ts", &val))); |
+ EXPECT_EQ(23456, val); |
+ EXPECT_TRUE((item && item->GetInteger("tid", &val))); |
+ EXPECT_EQ(42, val); |
+ std::string id; |
+ EXPECT_TRUE((item && item->GetString("id", &id))); |
+ EXPECT_EQ("1", id); |
+ } |
+ |
+ EXPECT_FIND_("TRACE_EVENT_BEGIN_EXPLICIT0 call"); |
+ { |
+ int val; |
+ EXPECT_TRUE((item && item->GetInteger("ts", &val))); |
+ EXPECT_EQ(34567, val); |
+ EXPECT_TRUE((item && item->GetInteger("tid", &val))); |
+ EXPECT_EQ(42, val); |
+ std::string id; |
+ EXPECT_TRUE((item && item->GetString("id", &id))); |
+ EXPECT_EQ("2", id); |
+ } |
+ |
+ EXPECT_FIND_("TRACE_EVENT_END_EXPLICIT0 call"); |
+ { |
+ int val; |
+ EXPECT_TRUE((item && item->GetInteger("ts", &val))); |
+ EXPECT_EQ(45678, val); |
+ EXPECT_TRUE((item && item->GetInteger("tid", &val))); |
+ EXPECT_EQ(42, val); |
+ std::string id; |
+ EXPECT_TRUE((item && item->GetString("id", &id))); |
+ EXPECT_EQ("2", id); |
+ } |
} |
void TraceManyInstantEvents(int thread_id, int num_events, |