summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorvollick@chromium.org <vollick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-29 13:37:50 +0000
committervollick@chromium.org <vollick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-29 13:37:50 +0000
commitd04484f0b692e759a9927245763b9d6fa645a45d (patch)
treeef428454cbefb7f7fa65f91006ca04c7881d448d /cc
parent83161a15be7617614f6fb5ed69afd948280e5d99 (diff)
downloadchromium_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.cc7
-rw-r--r--cc/base/switches.h4
-rw-r--r--cc/test/cc_test_suite.cc25
-rw-r--r--cc/test/layer_tree_test.cc5
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());
}