Add unit tests for Android audio device module
The tests are a combination of the old audio_device_unittest.cc and
audio_manager_unittest.cc, with the exception of a few that were no
longer relevant.
RunPlayoutAndRecordingInFullDuplex remains disabled according to its
comment, but has been verified to pass on at least one device.
MeasureLoopbackLatency also remains disabled, but has not been tested due
to lack of necessary hardware.
Bug: webrtc:7452
Change-Id: Ie361bc8f5e1990729d7b4699faf2a73abe3cbe8d
Reviewed-on: https://webrtc-review.googlesource.com/69340
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22836}
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index 303554e..40c8b28 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -1203,6 +1203,8 @@
testonly = true
sources = [
+ "native_unittests/org/webrtc/ApplicationContextProvider.java",
+ "native_unittests/org/webrtc/BuildInfo.java",
"native_unittests/org/webrtc/JavaTypesTestHelper.java",
"native_unittests/org/webrtc/PeerConnectionFactoryInitializationHelper.java",
]
@@ -1214,12 +1216,15 @@
testonly = true
java_files = [
+ "native_unittests/org/webrtc/ApplicationContextProvider.java",
+ "native_unittests/org/webrtc/BuildInfo.java",
"native_unittests/org/webrtc/JavaTypesTestHelper.java",
"native_unittests/org/webrtc/PeerConnectionFactoryInitializationHelper.java",
]
deps = [
":libjingle_peerconnection_java",
+ "//third_party/android_support_test_runner:runner_java",
]
}
@@ -1227,11 +1232,17 @@
testonly = true
sources = [
+ "native_unittests/audio_device/audio_device_unittest.cc",
"native_unittests/java_types_unittest.cc",
"native_unittests/peerconnection/peerconnectionfactory_unittest.cc",
"native_unittests/test_jni_onload.cc",
]
+ data = [
+ "../../resources/audio_device/audio_short44.pcm",
+ "../../resources/audio_device/audio_short48.pcm",
+ ]
+
if (is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [
@@ -1241,24 +1252,33 @@
}
deps = [
+ ":audio_device_base_jni",
":audio_jni",
+ ":base_jni",
":generated_native_unittests_jni",
+ ":java_audio_device_jni",
":media_jni",
+ ":native_api_audio_device_module",
":native_api_base",
":native_api_jni",
":native_api_peerconnection",
":native_unittests_java",
+ ":opensles_audio_device_jni",
":video_jni",
+ "../../system_wrappers:system_wrappers",
"//api/audio_codecs:builtin_audio_decoder_factory",
"//api/audio_codecs:builtin_audio_encoder_factory",
"//media:rtc_audio_video",
"//media:rtc_internal_video_codecs",
"//media:rtc_media_base",
+ "//modules/audio_device:audio_device",
+ "//modules/audio_device:mock_audio_device",
"//modules/audio_processing:audio_processing",
"//modules/utility:utility",
"//pc:libjingle_peerconnection",
"//rtc_base:checks",
"//rtc_base:rtc_base_approved",
+ "//test:fileutils",
"//test:test_support",
"//testing/gtest",
]