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

Unified Diff: net/base/trace_net_log_observer_unittest.cc

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/base/trace_net_log_observer.cc ('k') | net/base/upload_bytes_element_reader.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/trace_net_log_observer_unittest.cc
diff --git a/net/base/trace_net_log_observer_unittest.cc b/net/base/trace_net_log_observer_unittest.cc
deleted file mode 100644
index 143942553a83c5cdc7631105e6c853792592bb85..0000000000000000000000000000000000000000
--- a/net/base/trace_net_log_observer_unittest.cc
+++ /dev/null
@@ -1,378 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/base/trace_net_log_observer.h"
-
-#include <string>
-#include <vector>
-
-#include "base/json/json_reader.h"
-#include "base/logging.h"
-#include "base/memory/ref_counted.h"
-#include "base/memory/ref_counted_memory.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/run_loop.h"
-#include "base/strings/stringprintf.h"
-#include "base/trace_event/trace_event.h"
-#include "base/trace_event/trace_event_impl.h"
-#include "base/values.h"
-#include "net/base/capturing_net_log.h"
-#include "net/base/net_log.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using base::trace_event::TraceLog;
-
-namespace net {
-
-namespace {
-
-// TraceLog category for NetLog events.
-const char kNetLogTracingCategory[] = TRACE_DISABLED_BY_DEFAULT("netlog");
-
-struct TraceEntryInfo {
- std::string category;
- std::string id;
- std::string phase;
- std::string name;
- std::string source_type;
-};
-
-TraceEntryInfo GetTraceEntryInfoFromValue(const base::DictionaryValue& value) {
- TraceEntryInfo info;
- EXPECT_TRUE(value.GetString("cat", &info.category));
- EXPECT_TRUE(value.GetString("id", &info.id));
- EXPECT_TRUE(value.GetString("ph", &info.phase));
- EXPECT_TRUE(value.GetString("name", &info.name));
- EXPECT_TRUE(value.GetString("args.source_type", &info.source_type));
-
- return info;
-}
-
-class TraceNetLogObserverTest : public testing::Test {
- public:
- TraceNetLogObserverTest() {
- TraceLog* tracelog = TraceLog::GetInstance();
- DCHECK(tracelog);
- DCHECK(!tracelog->IsEnabled());
- trace_buffer_.SetOutputCallback(json_output_.GetCallback());
- trace_net_log_observer_.reset(new TraceNetLogObserver());
- trace_events_.reset(new base::ListValue());
- }
-
- ~TraceNetLogObserverTest() override {
- DCHECK(!TraceLog::GetInstance()->IsEnabled());
- }
-
- void OnTraceDataCollected(
- base::RunLoop* run_loop,
- const scoped_refptr<base::RefCountedString>& events_str,
- bool has_more_events) {
- DCHECK(trace_events_->empty());
- trace_buffer_.Start();
- trace_buffer_.AddFragment(events_str->data());
- trace_buffer_.Finish();
-
- scoped_ptr<base::Value> trace_value;
- trace_value.reset(base::JSONReader::Read(
- json_output_.json_output,
- base::JSON_PARSE_RFC | base::JSON_DETACHABLE_CHILDREN));
-
- ASSERT_TRUE(trace_value) << json_output_.json_output;
- base::ListValue* trace_events = NULL;
- ASSERT_TRUE(trace_value->GetAsList(&trace_events));
-
- trace_events_ = FilterNetLogTraceEvents(*trace_events);
-
- if (!has_more_events)
- run_loop->Quit();
- }
-
- static void EnableTraceLog() {
- TraceLog::GetInstance()->SetEnabled(
- base::trace_event::CategoryFilter(kNetLogTracingCategory),
- TraceLog::RECORDING_MODE,
- base::trace_event::TraceOptions());
- }
-
- void EndTraceAndFlush() {
- base::RunLoop run_loop;
- TraceLog::GetInstance()->SetDisabled();
- TraceLog::GetInstance()->Flush(
- base::Bind(&TraceNetLogObserverTest::OnTraceDataCollected,
- base::Unretained(this),
- base::Unretained(&run_loop)));
- run_loop.Run();
- }
-
- void set_trace_net_log_observer(TraceNetLogObserver* trace_net_log_observer) {
- trace_net_log_observer_.reset(trace_net_log_observer);
- }
-
- static scoped_ptr<base::ListValue> FilterNetLogTraceEvents(
- const base::ListValue& trace_events) {
- scoped_ptr<base::ListValue> filtered_trace_events(new base::ListValue());
- for (size_t i = 0; i < trace_events.GetSize(); i++) {
- const base::DictionaryValue* dict = NULL;
- if (!trace_events.GetDictionary(i, &dict)) {
- ADD_FAILURE() << "Unexpected non-dictionary event in trace_events";
- continue;
- }
- std::string category;
- if (!dict->GetString("cat", &category)) {
- ADD_FAILURE()
- << "Unexpected item without a category field in trace_events";
- continue;
- }
- if (category != kNetLogTracingCategory)
- continue;
- filtered_trace_events->Append(dict->DeepCopy());
- }
- return filtered_trace_events.Pass();
- }
-
- base::ListValue* trace_events() const {
- return trace_events_.get();
- }
-
- CapturingNetLog* net_log() {
- return &net_log_;
- }
-
- TraceNetLogObserver* trace_net_log_observer() const {
- return trace_net_log_observer_.get();
- }
-
- private:
- scoped_ptr<base::ListValue> trace_events_;
- base::trace_event::TraceResultBuffer trace_buffer_;
- base::trace_event::TraceResultBuffer::SimpleOutput json_output_;
- CapturingNetLog net_log_;
- scoped_ptr<TraceNetLogObserver> trace_net_log_observer_;
-};
-
-TEST_F(TraceNetLogObserverTest, TracingNotEnabled) {
- trace_net_log_observer()->WatchForTraceStart(net_log());
- net_log()->AddGlobalEntry(NetLog::TYPE_REQUEST_ALIVE);
-
- EndTraceAndFlush();
- trace_net_log_observer()->StopWatchForTraceStart();
-
- EXPECT_EQ(0u, trace_events()->GetSize());
-}
-
-TEST_F(TraceNetLogObserverTest, TraceEventCaptured) {
- CapturingNetLog::CapturedEntryList entries;
- net_log()->GetEntries(&entries);
- EXPECT_TRUE(entries.empty());
-
- trace_net_log_observer()->WatchForTraceStart(net_log());
- EnableTraceLog();
- BoundNetLog bound_net_log =
- BoundNetLog::Make(net_log(), net::NetLog::SOURCE_NONE);
- net_log()->AddGlobalEntry(NetLog::TYPE_CANCELLED);
- bound_net_log.BeginEvent(NetLog::TYPE_URL_REQUEST_START_JOB);
- bound_net_log.EndEvent(NetLog::TYPE_REQUEST_ALIVE);
-
- net_log()->GetEntries(&entries);
- EXPECT_EQ(3u, entries.size());
- EndTraceAndFlush();
- trace_net_log_observer()->StopWatchForTraceStart();
- EXPECT_EQ(3u, trace_events()->GetSize());
- const base::DictionaryValue* item1 = NULL;
- ASSERT_TRUE(trace_events()->GetDictionary(0, &item1));
- const base::DictionaryValue* item2 = NULL;
- ASSERT_TRUE(trace_events()->GetDictionary(1, &item2));
- const base::DictionaryValue* item3 = NULL;
- ASSERT_TRUE(trace_events()->GetDictionary(2, &item3));
-
- TraceEntryInfo actual_item1 = GetTraceEntryInfoFromValue(*item1);
- TraceEntryInfo actual_item2 = GetTraceEntryInfoFromValue(*item2);
- TraceEntryInfo actual_item3 = GetTraceEntryInfoFromValue(*item3);
- EXPECT_EQ(kNetLogTracingCategory, actual_item1.category);
- EXPECT_EQ(base::StringPrintf("0x%d", entries[0].source.id), actual_item1.id);
- EXPECT_EQ(std::string(1, TRACE_EVENT_PHASE_NESTABLE_ASYNC_INSTANT),
- actual_item1.phase);
- EXPECT_EQ(NetLog::EventTypeToString(NetLog::TYPE_CANCELLED),
- actual_item1.name);
- EXPECT_EQ(NetLog::SourceTypeToString(entries[0].source.type),
- actual_item1.source_type);
-
- EXPECT_EQ(kNetLogTracingCategory, actual_item2.category);
- EXPECT_EQ(base::StringPrintf("0x%d", entries[1].source.id), actual_item2.id);
- EXPECT_EQ(std::string(1, TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN),
- actual_item2.phase);
- EXPECT_EQ(NetLog::EventTypeToString(NetLog::TYPE_URL_REQUEST_START_JOB),
- actual_item2.name);
- EXPECT_EQ(NetLog::SourceTypeToString(entries[1].source.type),
- actual_item2.source_type);
-
- EXPECT_EQ(kNetLogTracingCategory, actual_item3.category);
- EXPECT_EQ(base::StringPrintf("0x%d", entries[2].source.id), actual_item3.id);
- EXPECT_EQ(std::string(1, TRACE_EVENT_PHASE_NESTABLE_ASYNC_END),
- actual_item3.phase);
- EXPECT_EQ(NetLog::EventTypeToString(NetLog::TYPE_REQUEST_ALIVE),
- actual_item3.name);
- EXPECT_EQ(NetLog::SourceTypeToString(entries[2].source.type),
- actual_item3.source_type);
-}
-
-TEST_F(TraceNetLogObserverTest, EnableAndDisableTracing) {
- trace_net_log_observer()->WatchForTraceStart(net_log());
- EnableTraceLog();
- net_log()->AddGlobalEntry(NetLog::TYPE_CANCELLED);
- TraceLog::GetInstance()->SetDisabled();
- net_log()->AddGlobalEntry(NetLog::TYPE_REQUEST_ALIVE);
- EnableTraceLog();
- net_log()->AddGlobalEntry(NetLog::TYPE_URL_REQUEST_START_JOB);
-
- EndTraceAndFlush();
- trace_net_log_observer()->StopWatchForTraceStart();
-
- CapturingNetLog::CapturedEntryList entries;
- net_log()->GetEntries(&entries);
- EXPECT_EQ(3u, entries.size());
- EXPECT_EQ(2u, trace_events()->GetSize());
- const base::DictionaryValue* item1 = NULL;
- ASSERT_TRUE(trace_events()->GetDictionary(0, &item1));
- const base::DictionaryValue* item2 = NULL;
- ASSERT_TRUE(trace_events()->GetDictionary(1, &item2));
-
- TraceEntryInfo actual_item1 = GetTraceEntryInfoFromValue(*item1);
- TraceEntryInfo actual_item2 = GetTraceEntryInfoFromValue(*item2);
- EXPECT_EQ(kNetLogTracingCategory, actual_item1.category);
- EXPECT_EQ(base::StringPrintf("0x%d", entries[0].source.id), actual_item1.id);
- EXPECT_EQ(std::string(1, TRACE_EVENT_PHASE_NESTABLE_ASYNC_INSTANT),
- actual_item1.phase);
- EXPECT_EQ(NetLog::EventTypeToString(NetLog::TYPE_CANCELLED),
- actual_item1.name);
- EXPECT_EQ(NetLog::SourceTypeToString(entries[0].source.type),
- actual_item1.source_type);
-
- EXPECT_EQ(kNetLogTracingCategory, actual_item2.category);
- EXPECT_EQ(base::StringPrintf("0x%d", entries[2].source.id), actual_item2.id);
- EXPECT_EQ(std::string(1, TRACE_EVENT_PHASE_NESTABLE_ASYNC_INSTANT),
- actual_item2.phase);
- EXPECT_EQ(NetLog::EventTypeToString(NetLog::TYPE_URL_REQUEST_START_JOB),
- actual_item2.name);
- EXPECT_EQ(NetLog::SourceTypeToString(entries[2].source.type),
- actual_item2.source_type);
-}
-
-TEST_F(TraceNetLogObserverTest, DestroyObserverWhileTracing) {
- trace_net_log_observer()->WatchForTraceStart(net_log());
- EnableTraceLog();
- net_log()->AddGlobalEntry(NetLog::TYPE_CANCELLED);
- trace_net_log_observer()->StopWatchForTraceStart();
- set_trace_net_log_observer(NULL);
- net_log()->AddGlobalEntry(NetLog::TYPE_REQUEST_ALIVE);
-
- EndTraceAndFlush();
-
- CapturingNetLog::CapturedEntryList entries;
- net_log()->GetEntries(&entries);
- EXPECT_EQ(2u, entries.size());
- EXPECT_EQ(1u, trace_events()->GetSize());
-
- const base::DictionaryValue* item1 = NULL;
- ASSERT_TRUE(trace_events()->GetDictionary(0, &item1));
-
- TraceEntryInfo actual_item1 = GetTraceEntryInfoFromValue(*item1);
- EXPECT_EQ(kNetLogTracingCategory, actual_item1.category);
- EXPECT_EQ(base::StringPrintf("0x%d", entries[0].source.id), actual_item1.id);
- EXPECT_EQ(std::string(1, TRACE_EVENT_PHASE_NESTABLE_ASYNC_INSTANT),
- actual_item1.phase);
- EXPECT_EQ(NetLog::EventTypeToString(NetLog::TYPE_CANCELLED),
- actual_item1.name);
- EXPECT_EQ(NetLog::SourceTypeToString(entries[0].source.type),
- actual_item1.source_type);
-}
-
-TEST_F(TraceNetLogObserverTest, DestroyObserverWhileNotTracing) {
- trace_net_log_observer()->WatchForTraceStart(net_log());
- net_log()->AddGlobalEntry(NetLog::TYPE_CANCELLED);
- trace_net_log_observer()->StopWatchForTraceStart();
- set_trace_net_log_observer(NULL);
- net_log()->AddGlobalEntry(NetLog::TYPE_REQUEST_ALIVE);
- net_log()->AddGlobalEntry(NetLog::TYPE_URL_REQUEST_START_JOB);
-
- EndTraceAndFlush();
-
- CapturingNetLog::CapturedEntryList entries;
- net_log()->GetEntries(&entries);
- EXPECT_EQ(3u, entries.size());
- EXPECT_EQ(0u, trace_events()->GetSize());
-}
-
-TEST_F(TraceNetLogObserverTest, CreateObserverAfterTracingStarts) {
- set_trace_net_log_observer(NULL);
- EnableTraceLog();
- set_trace_net_log_observer(new TraceNetLogObserver());
- trace_net_log_observer()->WatchForTraceStart(net_log());
- net_log()->AddGlobalEntry(NetLog::TYPE_CANCELLED);
- trace_net_log_observer()->StopWatchForTraceStart();
- net_log()->AddGlobalEntry(NetLog::TYPE_REQUEST_ALIVE);
- net_log()->AddGlobalEntry(NetLog::TYPE_URL_REQUEST_START_JOB);
-
- EndTraceAndFlush();
-
- CapturingNetLog::CapturedEntryList entries;
- net_log()->GetEntries(&entries);
- EXPECT_EQ(3u, entries.size());
- EXPECT_EQ(0u, trace_events()->GetSize());
-}
-
-TEST_F(TraceNetLogObserverTest, EventsWithAndWithoutParameters) {
- trace_net_log_observer()->WatchForTraceStart(net_log());
- EnableTraceLog();
- NetLog::ParametersCallback net_log_callback;
- std::string param = "bar";
- net_log_callback = NetLog::StringCallback("foo", &param);
-
- net_log()->AddGlobalEntry(NetLog::TYPE_CANCELLED, net_log_callback);
- net_log()->AddGlobalEntry(NetLog::TYPE_REQUEST_ALIVE);
-
- EndTraceAndFlush();
- trace_net_log_observer()->StopWatchForTraceStart();
-
- CapturingNetLog::CapturedEntryList entries;
- net_log()->GetEntries(&entries);
- EXPECT_EQ(2u, entries.size());
- EXPECT_EQ(2u, trace_events()->GetSize());
- const base::DictionaryValue* item1 = NULL;
- ASSERT_TRUE(trace_events()->GetDictionary(0, &item1));
- const base::DictionaryValue* item2 = NULL;
- ASSERT_TRUE(trace_events()->GetDictionary(1, &item2));
-
- TraceEntryInfo actual_item1 = GetTraceEntryInfoFromValue(*item1);
- TraceEntryInfo actual_item2 = GetTraceEntryInfoFromValue(*item2);
- EXPECT_EQ(kNetLogTracingCategory, actual_item1.category);
- EXPECT_EQ(base::StringPrintf("0x%d", entries[0].source.id), actual_item1.id);
- EXPECT_EQ(std::string(1, TRACE_EVENT_PHASE_NESTABLE_ASYNC_INSTANT),
- actual_item1.phase);
- EXPECT_EQ(NetLog::EventTypeToString(NetLog::TYPE_CANCELLED),
- actual_item1.name);
- EXPECT_EQ(NetLog::SourceTypeToString(entries[0].source.type),
- actual_item1.source_type);
-
- EXPECT_EQ(kNetLogTracingCategory, actual_item2.category);
- EXPECT_EQ(base::StringPrintf("0x%d", entries[1].source.id), actual_item2.id);
- EXPECT_EQ(std::string(1, TRACE_EVENT_PHASE_NESTABLE_ASYNC_INSTANT),
- actual_item2.phase);
- EXPECT_EQ(NetLog::EventTypeToString(NetLog::TYPE_REQUEST_ALIVE),
- actual_item2.name);
- EXPECT_EQ(NetLog::SourceTypeToString(entries[1].source.type),
- actual_item2.source_type);
-
- std::string item1_params;
- std::string item2_params;
- EXPECT_TRUE(item1->GetString("args.params.foo", &item1_params));
- EXPECT_EQ("bar", item1_params);
-
- EXPECT_TRUE(item2->GetString("args.params", &item2_params));
- EXPECT_TRUE(item2_params.empty());
-}
-
-} // namespace
-
-} // namespace net
« no previous file with comments | « net/base/trace_net_log_observer.cc ('k') | net/base/upload_bytes_element_reader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698