GN: Add system_wrappers_unittests, tools and tools_unittests
BUG=webrtc:5949
TESTED=Built and ran the tests on Mac.
NOTRY=True
Review-Url: https://codereview.webrtc.org/2025343002
Cr-Commit-Position: refs/heads/master@{#13007}
diff --git a/webrtc/base/BUILD.gn b/webrtc/base/BUILD.gn
index 9f7c759..9671b41 100644
--- a/webrtc/base/BUILD.gn
+++ b/webrtc/base/BUILD.gn
@@ -175,7 +175,9 @@
}
static_library("rtc_task_queue") {
- public_deps = [ ":rtc_base_approved" ]
+ public_deps = [
+ ":rtc_base_approved",
+ ]
configs += [ "..:common_config" ]
sources = [
@@ -184,7 +186,9 @@
]
if (rtc_build_libevent) {
- deps = [ "//base/third_party/libevent" ]
+ deps = [
+ "//base/third_party/libevent",
+ ]
}
if (rtc_enable_libevent) {
@@ -554,6 +558,7 @@
"macutils.cc",
"macutils.h",
]
+ libs += [ "CoreServices.framework" ] # For GetGestalt in macutils.cc.
}
if (is_win) {
diff --git a/webrtc/modules/audio_device/BUILD.gn b/webrtc/modules/audio_device/BUILD.gn
index d743a6a..14c1525 100644
--- a/webrtc/modules/audio_device/BUILD.gn
+++ b/webrtc/modules/audio_device/BUILD.gn
@@ -135,6 +135,9 @@
libs = [
"AudioToolbox.framework",
"CoreAudio.framework",
+
+ # Needed for CGEventSourceKeyState in audio_device_mac.cc:
+ "CoreGraphics.framework",
]
}
if (is_ios) {
diff --git a/webrtc/system_wrappers/BUILD.gn b/webrtc/system_wrappers/BUILD.gn
index a1e97d9..07b8bec 100644
--- a/webrtc/system_wrappers/BUILD.gn
+++ b/webrtc/system_wrappers/BUILD.gn
@@ -6,10 +6,14 @@
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
-import("//build/config/android/config.gni")
+if (is_android) {
+ import("//build/config/android/config.gni")
+ import("//build/config/android/rules.gni")
+}
+import("//testing/test.gni")
import("../build/webrtc.gni")
-static_library("system_wrappers") {
+source_set("system_wrappers") {
sources = [
"include/aligned_array.h",
"include/aligned_malloc.h",
@@ -188,3 +192,53 @@
public_configs = [ "..:common_inherited_config" ]
}
}
+
+test("system_wrappers_unittests") {
+ testonly = true
+ sources = [
+ "source/aligned_array_unittest.cc",
+ "source/aligned_malloc_unittest.cc",
+ "source/clock_unittest.cc",
+ "source/condition_variable_unittest.cc",
+ "source/critical_section_unittest.cc",
+ "source/data_log_c_helpers_unittest.c",
+ "source/data_log_c_helpers_unittest.h",
+ "source/data_log_helpers_unittest.cc",
+ "source/event_timer_posix_unittest.cc",
+ "source/logging_unittest.cc",
+ "source/metrics_default_unittest.cc",
+ "source/metrics_unittest.cc",
+ "source/ntp_time_unittest.cc",
+ "source/rtp_to_ntp_unittest.cc",
+ "source/stl_util_unittest.cc",
+ "source/stringize_macros_unittest.cc",
+ ]
+ if (rtc_enable_data_logging) {
+ sources += [
+ "source/data_log_unittest.cc",
+ "source/data_log_unittest_disabled.cc",
+ ]
+ }
+
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
+
+ configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+
+ if (is_clang) {
+ # Suppress warnings from Chrome's Clang plugins.
+ # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
+ configs -= [ "//build/config/clang:find_bad_constructs" ]
+ }
+
+ deps = [
+ ":metrics_default",
+ ":system_wrappers",
+ "../test:test_support_main",
+ "//testing/gtest",
+ ]
+
+ if (is_android) {
+ deps += [ "//testing/android/native_test:native_test_support" ]
+ }
+}
diff --git a/webrtc/system_wrappers/system_wrappers_tests.gyp b/webrtc/system_wrappers/system_wrappers_tests.gyp
index ebccba5..c4453c3 100644
--- a/webrtc/system_wrappers/system_wrappers_tests.gyp
+++ b/webrtc/system_wrappers/system_wrappers_tests.gyp
@@ -25,8 +25,6 @@
'source/condition_variable_unittest.cc',
'source/critical_section_unittest.cc',
'source/logging_unittest.cc',
- 'source/data_log_unittest.cc',
- 'source/data_log_unittest_disabled.cc',
'source/data_log_helpers_unittest.cc',
'source/data_log_c_helpers_unittest.c',
'source/data_log_c_helpers_unittest.h',
@@ -40,9 +38,9 @@
],
'conditions': [
['enable_data_logging==1', {
- 'sources!': [ 'source/data_log_unittest_disabled.cc', ],
+ 'sources': [ 'source/data_log_unittest.cc', ],
}, {
- 'sources!': [ 'source/data_log_unittest.cc', ],
+ 'sources': [ 'source/data_log_unittest_disabled.cc', ],
}],
['OS=="android"', {
'dependencies': [
diff --git a/webrtc/tools/BUILD.gn b/webrtc/tools/BUILD.gn
index ebeacc2..24b57f5 100644
--- a/webrtc/tools/BUILD.gn
+++ b/webrtc/tools/BUILD.gn
@@ -6,11 +6,14 @@
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
+import("//testing/test.gni")
import("../build/webrtc.gni")
source_set("tools") {
deps = [
":command_line_parser",
+ ":frame_analyzer",
+ ":rgba_to_i420_converter",
]
}
@@ -31,6 +34,10 @@
"frame_analyzer/video_quality_analysis.cc",
"frame_analyzer/video_quality_analysis.h",
]
+
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
+
deps = [
"../common_video",
]
@@ -43,6 +50,25 @@
sources = [
"frame_analyzer/frame_analyzer.cc",
]
+
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
+
+ deps = [
+ ":command_line_parser",
+ ":video_quality_analysis",
+ "//build/win:default_exe_manifest",
+ ]
+}
+
+executable("psnr_ssim_analyzer") {
+ sources = [
+ "psnr_ssim_analyzer/psnr_ssim_analyzer.cc",
+ ]
+
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
+
deps = [
":command_line_parser",
":video_quality_analysis",
@@ -56,6 +82,10 @@
"converter/converter.h",
"converter/rgba_to_i420_converter.cc",
]
+
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
+
deps = [
":command_line_parser",
"../common_video",
@@ -63,24 +93,181 @@
]
}
-# TODO(kjellander): Convert all of tools.gyp into GN here.
+source_set("frame_editing_lib") {
+ sources = [
+ "frame_editing/frame_editing_lib.cc",
+ "frame_editing/frame_editing_lib.h",
+ ]
-if (!build_with_chromium) {
- executable("tools_unittests") {
- testonly = true
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
- sources = [
- "simple_command_line_parser_unittest.cc",
- ]
+ # TODO(jschuh): Bug 1348: fix this warning.
+ configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
- configs += [ "..:common_config" ]
- public_configs = [ "..:common_inherited_config" ]
+ if (is_clang) {
+ # Suppress warnings from the Chromium Clang plugin.
+ # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
+ configs -= [ "//build/config/clang:find_bad_constructs" ]
+ }
- deps = [
- ":command_line_parser",
- "../test:test_support_main",
- "//build/win:default_exe_manifest",
- "//testing/gtest",
- ]
+ deps = [
+ "../common_video",
+ ]
+}
+
+executable("frame_editor") {
+ sources = [
+ "frame_editing/frame_editing.cc",
+ ]
+
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
+
+ deps = [
+ ":command_line_parser",
+ ":frame_editing_lib",
+ "//build/win:default_exe_manifest",
+ ]
+}
+
+executable("force_mic_volume_max") {
+ sources = [
+ "force_mic_volume_max/force_mic_volume_max.cc",
+ ]
+
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
+
+ if (is_clang) {
+ # Suppress warnings from the Chromium Clang plugin.
+ # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
+ configs -= [ "//build/config/clang:find_bad_constructs" ]
+ }
+
+ deps = [
+ "../system_wrappers:system_wrappers_default",
+ "../voice_engine",
+ "//build/win:default_exe_manifest",
+ ]
+}
+
+source_set("agc_test_utils") {
+ testonly = true
+ sources = [
+ "agc/test_utils.cc",
+ "agc/test_utils.h",
+ ]
+
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
+}
+
+executable("agc_harness") {
+ testonly = true
+ sources = [
+ "agc/agc_harness.cc",
+ ]
+
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
+
+ if (is_clang) {
+ # Suppress warnings from the Chromium Clang plugin.
+ # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
+ configs -= [ "//build/config/clang:find_bad_constructs" ]
+ }
+
+ deps = [
+ "../system_wrappers:system_wrappers_default",
+ "../test:channel_transport",
+ "../test:test_support",
+ "../voice_engine",
+ "//build/win:default_exe_manifest",
+ "//testing/gtest",
+ "//third_party/gflags",
+ ]
+}
+
+executable("activity_metric") {
+ testonly = true
+ sources = [
+ "agc/activity_metric.cc",
+ ]
+
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
+
+ if (is_clang) {
+ # Suppress warnings from the Chromium Clang plugin.
+ # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
+ configs -= [ "//build/config/clang:find_bad_constructs" ]
+ }
+
+ deps = [
+ "../modules/audio_processing",
+ "../system_wrappers:metrics_default",
+ "//build/win:default_exe_manifest",
+ "//testing/gtest",
+ "//third_party/gflags",
+ ]
+}
+
+executable("audio_e2e_harness") {
+ testonly = true
+ sources = [
+ "e2e_quality/audio/audio_e2e_harness.cc",
+ ]
+
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
+
+ if (is_clang) {
+ # Suppress warnings from the Chromium Clang plugin.
+ # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
+ configs -= [ "//build/config/clang:find_bad_constructs" ]
+ }
+
+ deps = [
+ "../system_wrappers:system_wrappers_default",
+ "../test:channel_transport",
+ "../voice_engine",
+ "//build/win:default_exe_manifest",
+ "//testing/gtest",
+ "//third_party/gflags",
+ ]
+}
+
+test("tools_unittests") {
+ testonly = true
+
+ sources = [
+ "frame_analyzer/video_quality_analysis_unittest.cc",
+ "frame_editing/frame_editing_unittest.cc",
+ "simple_command_line_parser_unittest.cc",
+ ]
+
+ configs += [ "..:common_config" ]
+ public_configs = [ "..:common_inherited_config" ]
+
+ # TODO(jschuh): Bug 1348: fix this warning.
+ configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+
+ if (is_clang) {
+ # Suppress warnings from the Chromium Clang plugin.
+ # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
+ configs -= [ "//build/config/clang:find_bad_constructs" ]
+ }
+
+ deps = [
+ ":command_line_parser",
+ ":frame_editing_lib",
+ ":video_quality_analysis",
+ "../test:test_support_main",
+ "//testing/gtest",
+ ]
+
+ if (is_android) {
+ deps += [ "//testing/android/native_test:native_test_support" ]
}
}