Delete rtc_base/unittest_main.cc
Usage replaced with test/test_main.cc.
Bug: webrtc:5996
Change-Id: I65e7539f2072fb45255a3c1af0b10dd06e1701ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137805
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28010}
diff --git a/BUILD.gn b/BUILD.gn
index 95d7c30..4acda15 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -484,7 +484,6 @@
"p2p:libstunprober_unittests",
"p2p:rtc_p2p_unittests",
"rtc_base:rtc_base_approved_unittests",
- "rtc_base:rtc_base_tests_main",
"rtc_base:rtc_base_unittests",
"rtc_base:rtc_json_unittests",
"rtc_base:rtc_numerics_unittests",
@@ -495,6 +494,7 @@
"rtc_base/synchronization:sequence_checker_unittests",
"rtc_base/task_utils:to_queued_task_unittests",
"sdk:sdk_tests",
+ "test:test_main",
"test/scenario/network:network_emulation_unittests",
]
diff --git a/media/BUILD.gn b/media/BUILD.gn
index f28461e..a5a37e6 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -545,18 +545,19 @@
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
"../rtc_base:rtc_base_approved",
- "../rtc_base:rtc_base_tests_main",
"../rtc_base:rtc_base_tests_utils",
"../rtc_base:rtc_task_queue",
"../rtc_base:stringutils",
"../rtc_base/third_party/sigslot",
"../test:audio_codec_mocks",
"../test:field_trial",
+ "../test:test_main",
"../test:test_support",
"../test:video_test_common",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings",
+ "//third_party/abseil-cpp/absl/types:optional",
]
sources = [
"base/codec_unittest.cc",
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index dd9ca6b..62a8186 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -307,10 +307,10 @@
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
"../rtc_base:rtc_base_approved",
- "../rtc_base:rtc_base_tests_main",
"../rtc_base:rtc_base_tests_utils",
"../rtc_base/third_party/sigslot",
"../system_wrappers:metrics",
+ "../test:test_main",
"../test:test_support",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory",
@@ -571,10 +571,10 @@
"../pc:rtc_pc",
"../rtc_base",
"../rtc_base:rtc_base_approved",
- "../rtc_base:rtc_base_tests_main",
"../rtc_base:rtc_task_queue",
"../rtc_base:safe_conversions",
"../test:audio_codec_mocks",
+ "../test:test_main",
"../test:test_support",
"//third_party/abseil-cpp/absl/types:optional",
]
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 72b7229..a3dd22e 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -1129,27 +1129,6 @@
]
}
- rtc_source_set("rtc_base_tests_main") {
- testonly = true
- sources = [
- "unittest_main.cc",
- ]
- deps = [
- ":gunit_helpers",
- ":rtc_base",
- ":rtc_base_approved",
- ":rtc_base_tests_utils",
- "../system_wrappers:field_trial",
- "../system_wrappers:metrics",
- "../test:field_trial",
- "../test:test_support",
- ]
-
- public_deps = [
- "//testing/gtest",
- ]
- }
-
rtc_source_set("rtc_base_nonparallel_tests") {
testonly = true
@@ -1166,11 +1145,11 @@
":checks",
":gunit_helpers",
":rtc_base",
- ":rtc_base_tests_main",
":rtc_base_tests_utils",
":testclient",
"../system_wrappers",
"../test:fileutils",
+ "../test:test_main",
"../test:test_support",
"third_party/sigslot",
"//testing/gtest",
@@ -1235,7 +1214,6 @@
":rate_limiter",
":rtc_base",
":rtc_base_approved",
- ":rtc_base_tests_main",
":rtc_base_tests_utils",
":rtc_task_queue",
":safe_compare",
@@ -1248,6 +1226,7 @@
"../api/units:time_delta",
"../system_wrappers",
"../test:fileutils",
+ "../test:test_main",
"../test:test_support",
"memory:unittests",
"third_party/base64",
@@ -1265,10 +1244,10 @@
deps = [
":gunit_helpers",
":rtc_base_approved",
- ":rtc_base_tests_main",
":rtc_base_tests_utils",
":rtc_task_queue",
":task_queue_for_test",
+ "../test:test_main",
"../test:test_support",
"//third_party/abseil-cpp/absl/memory",
]
@@ -1283,11 +1262,11 @@
deps = [
":gunit_helpers",
":rtc_base_approved",
- ":rtc_base_tests_main",
":rtc_base_tests_utils",
":rtc_event",
":task_queue_for_test",
":weak_ptr",
+ "../test:test_main",
"../test:test_support",
"//third_party/abseil-cpp/absl/memory",
]
@@ -1307,8 +1286,8 @@
]
deps = [
":rtc_base_approved",
- ":rtc_base_tests_main",
":rtc_numerics",
+ "../test:test_main",
"../test:test_support",
"//third_party/abseil-cpp/absl/algorithm:container",
]
@@ -1322,9 +1301,9 @@
]
deps = [
":gunit_helpers",
- ":rtc_base_tests_main",
":rtc_base_tests_utils",
":rtc_json",
+ "../test:test_main",
"../test:test_support",
]
}
@@ -1374,18 +1353,19 @@
deps = [
":checks",
":gunit_helpers",
- ":rtc_base_tests_main",
":rtc_base_tests_utils",
":stringutils",
":testclient",
"../api:array_view",
"../test:fileutils",
+ "../test:test_main",
"../test:test_support",
"memory:fifo_buffer",
"synchronization:synchronization_unittests",
"third_party/sigslot",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
public_deps = [
diff --git a/rtc_base/experiments/BUILD.gn b/rtc_base/experiments/BUILD.gn
index 2ea6ed0..6daac42 100644
--- a/rtc_base/experiments/BUILD.gn
+++ b/rtc_base/experiments/BUILD.gn
@@ -204,12 +204,13 @@
":rate_control_settings",
":rtt_mult_experiment",
"..:gunit_helpers",
- "../:rtc_base_tests_main",
"../:rtc_base_tests_utils",
"../../api/video_codecs:video_codecs_api",
"../../system_wrappers:field_trial",
"../../test:field_trial",
+ "../../test:test_main",
"../../test:test_support",
+ "//third_party/abseil-cpp/absl/types:optional",
]
}
}
diff --git a/rtc_base/synchronization/BUILD.gn b/rtc_base/synchronization/BUILD.gn
index 93a3fee..ba44c79 100644
--- a/rtc_base/synchronization/BUILD.gn
+++ b/rtc_base/synchronization/BUILD.gn
@@ -83,9 +83,9 @@
":sequence_checker",
"..:checks",
"..:rtc_base_approved",
- "..:rtc_base_tests_main",
"..:task_queue_for_test",
"../../api:function_view",
+ "../../test:test_main",
"../../test:test_support",
"//third_party/abseil-cpp/absl/memory",
]
diff --git a/rtc_base/unittest_main.cc b/rtc_base/unittest_main.cc
deleted file mode 100644
index fe3e9e4..0000000
--- a/rtc_base/unittest_main.cc
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright 2007 The WebRTC Project Authors. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-//
-// A reuseable entry point for gunit tests.
-
-#if defined(WEBRTC_WIN)
-#include <crtdbg.h>
-#endif
-
-#include "rtc_base/flags.h"
-#include "rtc_base/logging.h"
-#include "rtc_base/ssl_adapter.h"
-#include "rtc_base/ssl_stream_adapter.h"
-#include "system_wrappers/include/field_trial.h"
-#include "system_wrappers/include/metrics.h"
-#include "test/field_trial.h"
-#include "test/gtest.h"
-
-#if defined(WEBRTC_WIN)
-#include "rtc_base/win32_socket_init.h"
-#endif
-
-#if defined(WEBRTC_IOS)
-#include "test/ios/test_support.h"
-#endif
-
-WEBRTC_DEFINE_bool(help, false, "prints this message");
-WEBRTC_DEFINE_string(log, "", "logging options to use");
-WEBRTC_DEFINE_string(
- force_fieldtrials,
- "",
- "Field trials control experimental feature code which can be forced. "
- "E.g. running with --force_fieldtrials=WebRTC-FooFeature/Enable/"
- " will assign the group Enable to field trial WebRTC-FooFeature.");
-#if defined(WEBRTC_WIN)
-WEBRTC_DEFINE_int(crt_break_alloc, -1, "memory allocation to break on");
-WEBRTC_DEFINE_bool(
- default_error_handlers,
- false,
- "leave the default exception/dbg handler functions in place");
-
-void TestInvalidParameterHandler(const wchar_t* expression,
- const wchar_t* function,
- const wchar_t* file,
- unsigned int line,
- uintptr_t pReserved) {
- // In order to log `expression`, `function`, and `file` here, we would have
- // to convert them to const char*. std::wcsrtombs can do that, but it's
- // locale dependent.
- RTC_LOG(LS_ERROR) << "InvalidParameter Handler called. Exiting.";
- exit(1);
-}
-void TestPureCallHandler() {
- RTC_LOG(LS_ERROR) << "Purecall Handler called. Exiting.";
- exit(1);
-}
-int TestCrtReportHandler(int report_type, char* msg, int* retval) {
- RTC_LOG(LS_ERROR) << "CrtReport Handler called...";
- RTC_LOG(LS_ERROR) << msg;
- if (report_type == _CRT_ASSERT) {
- exit(1);
- } else {
- *retval = 0;
- return TRUE;
- }
-}
-#endif // WEBRTC_WIN
-
-int main(int argc, char* argv[]) {
- ::testing::InitGoogleTest(&argc, argv);
- rtc::FlagList::SetFlagsFromCommandLine(&argc, argv, false);
- if (FLAG_help) {
- rtc::FlagList::Print(nullptr, false);
- return 0;
- }
-
- webrtc::test::ValidateFieldTrialsStringOrDie(FLAG_force_fieldtrials);
- // InitFieldTrialsFromString stores the char*, so the char array must outlive
- // the application.
- webrtc::field_trial::InitFieldTrialsFromString(FLAG_force_fieldtrials);
- webrtc::metrics::Enable();
-
-#if defined(WEBRTC_WIN)
- rtc::WinsockInitializer winsock_init;
-
- if (!FLAG_default_error_handlers) {
- // Make sure any errors don't throw dialogs hanging the test run.
- _set_invalid_parameter_handler(TestInvalidParameterHandler);
- _set_purecall_handler(TestPureCallHandler);
- _CrtSetReportHook2(_CRT_RPTHOOK_INSTALL, TestCrtReportHandler);
- }
-
-#if !defined(NDEBUG) // Turn on memory leak checking on Windows.
- _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
- if (FLAG_crt_break_alloc >= 0) {
- _crtBreakAlloc = FLAG_crt_break_alloc;
- }
-#endif
-#endif // WEBRTC_WIN
-
- // By default, log timestamps. Allow overrides by used of a --log flag.
- rtc::LogMessage::LogTimestamps();
- if (*FLAG_log != '\0') {
- rtc::LogMessage::ConfigureLogging(FLAG_log);
- } else if (rtc::LogMessage::GetLogToDebug() > rtc::LS_INFO) {
- // Default to LS_INFO, even for release builds to provide better test
- // logging.
- rtc::LogMessage::LogToDebug(rtc::LS_INFO);
- }
-
- // Initialize SSL which are used by several tests.
- rtc::InitializeSSL();
- rtc::SSLStreamAdapter::EnableTimeCallbackForTesting();
-
-#if defined(WEBRTC_IOS)
- rtc::test::InitTestSuite(RUN_ALL_TESTS, argc, argv, false);
- rtc::test::RunTestsFromIOSApp();
-#endif
- const int res = RUN_ALL_TESTS();
-
- rtc::CleanupSSL();
-
- // clean up logging so we don't appear to leak memory.
- rtc::LogMessage::ConfigureLogging("");
-
-#if defined(WEBRTC_WIN)
- // Unhook crt function so that we don't ever log after statics have been
- // uninitialized.
- if (!FLAG_default_error_handlers)
- _CrtSetReportHook2(_CRT_RPTHOOK_REMOVE, TestCrtReportHandler);
-#endif
-
-#if defined(ADDRESS_SANITIZER) || defined(LEAK_SANITIZER) || \
- defined(MEMORY_SANITIZER) || defined(THREAD_SANITIZER) || \
- defined(UNDEFINED_SANITIZER)
- // We want the test flagged as failed only for sanitizer defects,
- // in which case the sanitizer will override exit code with 66.
- return 0;
-#endif
-
- return res;
-}
diff --git a/stats/BUILD.gn b/stats/BUILD.gn
index 85fe091..b3a9d9e 100644
--- a/stats/BUILD.gn
+++ b/stats/BUILD.gn
@@ -61,8 +61,8 @@
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
"../rtc_base:rtc_base_approved",
- "../rtc_base:rtc_base_tests_main",
"../rtc_base:rtc_json",
+ "../test:test_main",
"../test:test_support",
]
diff --git a/test/test_main_lib.cc b/test/test_main_lib.cc
index 515285e..dcc0749 100644
--- a/test/test_main_lib.cc
+++ b/test/test_main_lib.cc
@@ -17,6 +17,8 @@
#include "rtc_base/checks.h"
#include "rtc_base/flags.h"
#include "rtc_base/logging.h"
+#include "rtc_base/ssl_adapter.h"
+#include "rtc_base/ssl_stream_adapter.h"
#include "rtc_base/thread.h"
#include "system_wrappers/include/field_trial.h"
#include "system_wrappers/include/metrics.h"
@@ -120,6 +122,10 @@
winsock_init_ = absl::make_unique<rtc::WinsockInitializer>();
#endif
+ // Initialize SSL which are used by several tests.
+ rtc::InitializeSSL();
+ rtc::SSLStreamAdapter::EnableTimeCallbackForTesting();
+
// Ensure that main thread gets wrapped as an rtc::Thread.
// TODO(bugs.webrt.org/9714): It might be better to avoid wrapping the main
// thread, or leave it to individual tests that need it. But as long as we