From aa3d1c8169b798c06edf74651f38fef77c695157 Mon Sep 17 00:00:00 2001 From: "andrew@webrtc.org" Date: Thu, 5 Sep 2013 21:16:29 +0000 Subject: [PATCH] Make unittest log printouts opt-in with a --logs flag. TESTED=Using modules_unittests, no logs are printed by default. Specifying --logs prints logs. gtest flags work correctly. R=henrike@webrtc.org, kjellander@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2181004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4686 4adac7df-926f-26a2-2b94-8c16560cd09d --- webrtc/test/test.gyp | 1 + webrtc/test/test_suite.cc | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/webrtc/test/test.gyp b/webrtc/test/test.gyp index 31ba4ea01c..4e01b25d76 100644 --- a/webrtc/test/test.gyp +++ b/webrtc/test/test.gyp @@ -47,6 +47,7 @@ 'dependencies': [ '<(DEPTH)/testing/gtest.gyp:gtest', '<(DEPTH)/testing/gmock.gyp:gmock', + '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', ], 'sources': [ diff --git a/webrtc/test/test_suite.cc b/webrtc/test/test_suite.cc index 2ef305bfa4..1917605b18 100644 --- a/webrtc/test/test_suite.cc +++ b/webrtc/test/test_suite.cc @@ -10,11 +10,14 @@ #include "webrtc/test/test_suite.h" +#include "gflags/gflags.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "webrtc/test/testsupport/fileutils.h" #include "webrtc/test/testsupport/trace_to_stderr.h" +DEFINE_bool(logs, false, "print logs to stderr"); + namespace webrtc { namespace test { @@ -22,6 +25,9 @@ TestSuite::TestSuite(int argc, char** argv) : trace_to_stderr_(NULL) { SetExecutablePath(argv[0]); testing::InitGoogleMock(&argc, argv); // Runs InitGoogleTest() internally. + // ParseCommandLineFlags fails on unrecognized flags. Call it last so that + // any flags inteded for gtest are already filtered out. + google::ParseCommandLineFlags(&argc, &argv, true); } TestSuite::~TestSuite() { @@ -35,8 +41,8 @@ int TestSuite::Run() { } void TestSuite::Initialize() { - // Create TraceToStderr here so the behavior can be overridden. - trace_to_stderr_.reset(new TraceToStderr); + if (FLAGS_logs) + trace_to_stderr_.reset(new TraceToStderr); } void TestSuite::Shutdown() {