| Index: base/debug/trace_event_unittest.cc
|
| diff --git a/base/debug/trace_event_unittest.cc b/base/debug/trace_event_unittest.cc
|
| index 53e23306cb1cd960a331ef3dad389c614d26d838..c843c25f54039f376b014a6f9a3b843190e85e6e 100644
|
| --- a/base/debug/trace_event_unittest.cc
|
| +++ b/base/debug/trace_event_unittest.cc
|
| @@ -65,6 +65,7 @@ class TraceEventTestFixture : public testing::Test {
|
| const char* phase,
|
| const char* key,
|
| const char* value);
|
| + void DropTracedMetadataRecords();
|
| bool FindMatchingValue(const char* key,
|
| const char* value);
|
| bool FindNonMatchingValue(const char* key,
|
| @@ -251,6 +252,28 @@ DictionaryValue* TraceEventTestFixture::FindMatchingTraceEntry(
|
| return NULL;
|
| }
|
|
|
| +void TraceEventTestFixture::DropTracedMetadataRecords() {
|
| +
|
| + scoped_ptr<ListValue> old_trace_parsed(trace_parsed_.DeepCopy());
|
| + size_t old_trace_parsed_size = old_trace_parsed->GetSize();
|
| + trace_parsed_.Clear();
|
| +
|
| + for (size_t i = 0; i < old_trace_parsed_size; i++) {
|
| + Value* value = NULL;
|
| + old_trace_parsed->Get(i, &value);
|
| + if (!value || value->GetType() != Value::TYPE_DICTIONARY) {
|
| + trace_parsed_.Append(value->DeepCopy());
|
| + continue;
|
| + }
|
| + DictionaryValue* dict = static_cast<DictionaryValue*>(value);
|
| + std::string tmp;
|
| + if(dict->GetString("ph", &tmp) && tmp == "M")
|
| + continue;
|
| +
|
| + trace_parsed_.Append(value->DeepCopy());
|
| + }
|
| +}
|
| +
|
| DictionaryValue* TraceEventTestFixture::FindNamePhase(const char* name,
|
| const char* phase) {
|
| JsonKeyValue key_values[] = {
|
| @@ -1102,6 +1125,7 @@ TEST_F(TraceEventTestFixture, Categories) {
|
| TRACE_EVENT_INSTANT0("cat1", "name", TRACE_EVENT_SCOPE_THREAD);
|
| TRACE_EVENT_INSTANT0("cat2", "name", TRACE_EVENT_SCOPE_THREAD);
|
| EndTraceAndFlush();
|
| + DropTracedMetadataRecords();
|
| EXPECT_TRUE(trace_parsed_.empty());
|
|
|
| // Include existent category -> only events of that category
|
| @@ -1113,6 +1137,7 @@ TEST_F(TraceEventTestFixture, Categories) {
|
| TRACE_EVENT_INSTANT0("inc", "name", TRACE_EVENT_SCOPE_THREAD);
|
| TRACE_EVENT_INSTANT0("inc2", "name", TRACE_EVENT_SCOPE_THREAD);
|
| EndTraceAndFlush();
|
| + DropTracedMetadataRecords();
|
| EXPECT_TRUE(FindMatchingValue("cat", "inc"));
|
| EXPECT_FALSE(FindNonMatchingValue("cat", "inc"));
|
|
|
| @@ -2288,6 +2313,7 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording1) {
|
| TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
| TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
|
|
| + DropTracedMetadataRecords();
|
| VerifyCallbackAndRecordedEvents(2, 2);
|
| }
|
|
|
| @@ -2311,6 +2337,7 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording2) {
|
| TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
| TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
|
|
| + DropTracedMetadataRecords();
|
| VerifyCallbackAndRecordedEvents(3, 1);
|
| }
|
|
|
| @@ -2334,6 +2361,7 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording3) {
|
| TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
| TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
|
|
| + DropTracedMetadataRecords();
|
| VerifyCallbackAndRecordedEvents(1, 3);
|
| }
|
|
|
| @@ -2357,6 +2385,7 @@ TEST_F(TraceEventCallbackTest, TraceEventCallbackAndRecording4) {
|
| TRACE_EVENT_INSTANT0("recording", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
| TRACE_EVENT_INSTANT0("callback", "no", TRACE_EVENT_SCOPE_GLOBAL);
|
|
|
| + DropTracedMetadataRecords();
|
| VerifyCallbackAndRecordedEvents(2, 2);
|
| }
|
|
|
| @@ -2787,6 +2816,7 @@ TEST_F(TraceEventTestFixture, TimeOffset) {
|
| TimeTicks::NowFromSystemTraceTime().ToInternalValue());
|
|
|
| EndTraceAndFlush();
|
| + DropTracedMetadataRecords();
|
|
|
| double end_time = static_cast<double>(
|
| (TimeTicks::NowFromSystemTraceTime() - time_offset).ToInternalValue());
|
|
|