blob: 1917605b1803f5632350a2672d16ee270778cafa [file] [log] [blame]
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +00001/*
2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
andrew@webrtc.orgb87cc852013-03-25 16:23:37 +000011#include "webrtc/test/test_suite.h"
andrew@webrtc.orgc1ffd332013-03-22 17:13:23 +000012
andrew@webrtc.orgaa3d1c82013-09-05 21:16:29 +000013#include "gflags/gflags.h"
andrew@webrtc.orgc1ffd332013-03-22 17:13:23 +000014#include "testing/gmock/include/gmock/gmock.h"
15#include "testing/gtest/include/gtest/gtest.h"
andrew@webrtc.orgb87cc852013-03-25 16:23:37 +000016#include "webrtc/test/testsupport/fileutils.h"
17#include "webrtc/test/testsupport/trace_to_stderr.h"
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000018
andrew@webrtc.orgaa3d1c82013-09-05 21:16:29 +000019DEFINE_bool(logs, false, "print logs to stderr");
20
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000021namespace webrtc {
kjellander@webrtc.org20a370e2011-11-04 01:19:16 +000022namespace test {
kjellander@webrtc.org83b767b2012-10-15 18:14:12 +000023
andrew@webrtc.orgc1ffd332013-03-22 17:13:23 +000024TestSuite::TestSuite(int argc, char** argv)
andrew@webrtc.orgb87cc852013-03-25 16:23:37 +000025 : trace_to_stderr_(NULL) {
kjellander@webrtc.org193600b2012-10-17 04:39:44 +000026 SetExecutablePath(argv[0]);
kjellander@webrtc.org20a370e2011-11-04 01:19:16 +000027 testing::InitGoogleMock(&argc, argv); // Runs InitGoogleTest() internally.
andrew@webrtc.orgaa3d1c82013-09-05 21:16:29 +000028 // ParseCommandLineFlags fails on unrecognized flags. Call it last so that
29 // any flags inteded for gtest are already filtered out.
30 google::ParseCommandLineFlags(&argc, &argv, true);
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000031}
32
33TestSuite::~TestSuite() {
34}
35
36int TestSuite::Run() {
37 Initialize();
38 int result = RUN_ALL_TESTS();
39 Shutdown();
40 return result;
41}
42
43void TestSuite::Initialize() {
andrew@webrtc.orgaa3d1c82013-09-05 21:16:29 +000044 if (FLAGS_logs)
45 trace_to_stderr_.reset(new TraceToStderr);
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000046}
47
48void TestSuite::Shutdown() {
49}
andrew@webrtc.orgc1ffd332013-03-22 17:13:23 +000050
kjellander@webrtc.org20a370e2011-11-04 01:19:16 +000051} // namespace test
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000052} // namespace webrtc