diff options
author | vollick@chromium.org <vollick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-29 13:37:50 +0000 |
---|---|---|
committer | vollick@chromium.org <vollick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-29 13:37:50 +0000 |
commit | d04484f0b692e759a9927245763b9d6fa645a45d (patch) | |
tree | ef428454cbefb7f7fa65f91006ca04c7881d448d /cc | |
parent | 83161a15be7617614f6fb5ed69afd948280e5d99 (diff) | |
download | chromium_src-d04484f0b692e759a9927245763b9d6fa645a45d.zip chromium_src-d04484f0b692e759a9927245763b9d6fa645a45d.tar.gz chromium_src-d04484f0b692e759a9927245763b9d6fa645a45d.tar.bz2 |
Add a command line flag for dumping trace events to VLOG
Only affects cc_unittests at the moment.
BUG=None
R=danakj@chromium.org, jar@chromium.org, nduca@chromium.org
Review URL: https://codereview.chromium.org/14474006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197024 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r-- | cc/base/switches.cc | 7 | ||||
-rw-r--r-- | cc/base/switches.h | 4 | ||||
-rw-r--r-- | cc/test/cc_test_suite.cc | 25 | ||||
-rw-r--r-- | cc/test/layer_tree_test.cc | 5 |
4 files changed, 39 insertions, 2 deletions
diff --git a/cc/base/switches.cc b/cc/base/switches.cc index 6c694a9..80996e9 100644 --- a/cc/base/switches.cc +++ b/cc/base/switches.cc @@ -137,6 +137,13 @@ const char kUIShowOccludingRects[] = "ui-show-occluding-rects"; const char kShowNonOccludingRects[] = "show-nonoccluding-rects"; const char kUIShowNonOccludingRects[] = "ui-show-nonoccluding-rects"; +// Prevents the layer tree unit tests from timing out. +const char kCCLayerTreeTestNoTimeout[] = "cc-layer-tree-test-no-timeout"; + +// Trace events get dumped to stderr for debugging purposes. +const char kCCUnittestsTraceEventsToVLOG[] = + "cc-unittests-trace-events-to-vlog"; + bool IsImplSidePaintingEnabled() { const CommandLine& command_line = *CommandLine::ForCurrentProcess(); diff --git a/cc/base/switches.h b/cc/base/switches.h index 2e9a3e3..37686bf 100644 --- a/cc/base/switches.h +++ b/cc/base/switches.h @@ -67,6 +67,10 @@ CC_EXPORT extern const char kUIShowOccludingRects[]; CC_EXPORT extern const char kShowNonOccludingRects[]; CC_EXPORT extern const char kUIShowNonOccludingRects[]; +// Unit test related. +CC_EXPORT extern const char kCCLayerTreeTestNoTimeout[]; +CC_EXPORT extern const char kCCUnittestsTraceEventsToVLOG[]; + CC_EXPORT bool IsImplSidePaintingEnabled(); } // namespace switches diff --git a/cc/test/cc_test_suite.cc b/cc/test/cc_test_suite.cc index 19d478e..d4d15d3 100644 --- a/cc/test/cc_test_suite.cc +++ b/cc/test/cc_test_suite.cc @@ -4,7 +4,13 @@ #include "cc/test/cc_test_suite.h" +#include <string> + +#include "base/command_line.h" +#include "base/debug/trace_event_impl.h" #include "base/message_loop.h" +#include "base/threading/thread_id_name_manager.h" +#include "cc/base/switches.h" #include "cc/test/paths.h" namespace cc { @@ -17,7 +23,26 @@ CCTestSuite::~CCTestSuite() {} void CCTestSuite::Initialize() { base::TestSuite::Initialize(); RegisterPathProvider(); + + if (CommandLine::ForCurrentProcess()->HasSwitch( + switches::kCCUnittestsTraceEventsToVLOG)) { + std::string category_string = + CommandLine::ForCurrentProcess()->GetSwitchValueASCII( + switches::kCCUnittestsTraceEventsToVLOG); + + if (!category_string.size()) + category_string = "cc"; + + base::debug::TraceLog::GetInstance()->SetEnabled( + base::debug::CategoryFilter(category_string), + base::debug::TraceLog::ECHO_TO_VLOG); + } + message_loop_.reset(new base::MessageLoop); + + base::ThreadIdNameManager::GetInstance()->SetName( + base::PlatformThread::CurrentId(), + "Main"); } void CCTestSuite::Shutdown() { diff --git a/cc/test/layer_tree_test.cc b/cc/test/layer_tree_test.cc index e880510..89ef4be 100644 --- a/cc/test/layer_tree_test.cc +++ b/cc/test/layer_tree_test.cc @@ -9,6 +9,7 @@ #include "cc/animation/animation_registrar.h" #include "cc/animation/layer_animation_controller.h" #include "cc/animation/timing_function.h" +#include "cc/base/switches.h" #include "cc/base/thread_impl.h" #include "cc/input/input_handler.h" #include "cc/layers/content_layer.h" @@ -313,7 +314,7 @@ LayerTreeTest::LayerTreeTest() // Tests should timeout quickly unless --cc-layer-tree-test-no-timeout was // specified (for running in a debugger). CommandLine* command_line = CommandLine::ForCurrentProcess(); - if (!command_line->HasSwitch("cc-layer-tree-test-no-timeout")) + if (!command_line->HasSwitch(switches::kCCLayerTreeTestNoTimeout)) timeout_seconds_ = 5; } @@ -545,7 +546,7 @@ void LayerTreeTest::DispatchComposite() { void LayerTreeTest::RunTest(bool threaded) { if (threaded) { - impl_thread_.reset(new base::Thread("LayerTreeTest")); + impl_thread_.reset(new base::Thread("Compositor")); ASSERT_TRUE(impl_thread_->Start()); } |