blob: c8ff742c64fb66246fd8b1e0fba5aea78dc508e3 [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.org15e979b2013-09-17 00:54:09 +000028 // AllowCommandLineParsing allows us to ignore flags passed on to us by
29 // Chromium build bots without having to explicitly disable them.
30 google::AllowCommandLineReparsing();
andrew@webrtc.orgaa3d1c82013-09-05 21:16:29 +000031 google::ParseCommandLineFlags(&argc, &argv, true);
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000032}
33
34TestSuite::~TestSuite() {
35}
36
37int TestSuite::Run() {
38 Initialize();
39 int result = RUN_ALL_TESTS();
40 Shutdown();
41 return result;
42}
43
44void TestSuite::Initialize() {
andrew@webrtc.orgaa3d1c82013-09-05 21:16:29 +000045 if (FLAGS_logs)
46 trace_to_stderr_.reset(new TraceToStderr);
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000047}
48
49void TestSuite::Shutdown() {
50}
andrew@webrtc.orgc1ffd332013-03-22 17:13:23 +000051
kjellander@webrtc.org20a370e2011-11-04 01:19:16 +000052} // namespace test
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000053} // namespace webrtc