Remove low_bandwidth_audio_test.
Change-Id: Ide4d34e1dada9dc1448f89a79cc7b803ea4b5f46
Bug: b/284448060
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307160
Reviewed-by: Henrik Lundin <hlundin@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40191}
diff --git a/BUILD.gn b/BUILD.gn
index 3f3e496..a13df86 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -102,7 +102,6 @@
}
if (rtc_enable_protobuf) {
deps += [
- "audio:low_bandwidth_audio_perf_test",
"logging:rtc_event_log_rtp_dump",
"tools_webrtc/perf:webrtc_dashboard_upload",
]
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 79610366..4fbee0e 100755
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -828,7 +828,6 @@
test_directories = [
input_api.PresubmitLocalPath(),
Join('rtc_tools', 'py_event_log_analyzer'),
- Join('audio', 'test', 'unittests'),
] + [
root for root, _, files in os.walk(Join('tools_webrtc')) if any(
f.endswith('_test.py') and f not in excluded_files for f in files)
diff --git a/audio/BUILD.gn b/audio/BUILD.gn
index 654cdbc..ec09e5a 100644
--- a/audio/BUILD.gn
+++ b/audio/BUILD.gn
@@ -247,104 +247,4 @@
]
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
}
-
- if (rtc_enable_protobuf && !build_with_chromium) {
- rtc_test("low_bandwidth_audio_test") {
- testonly = true
-
- sources = [
- "test/low_bandwidth_audio_test.cc",
- "test/low_bandwidth_audio_test_flags.cc",
- "test/pc_low_bandwidth_audio_test.cc",
- ]
-
- deps = [
- ":audio_end_to_end_test",
- "../api:create_network_emulation_manager",
- "../api:create_peerconnection_quality_test_fixture",
- "../api:network_emulation_manager_api",
- "../api:peer_connection_quality_test_fixture_api",
- "../api:simulated_network_api",
- "../api:time_controller",
- "../api/test/metrics:chrome_perf_dashboard_metrics_exporter",
- "../api/test/metrics:global_metrics_logger_and_exporter",
- "../api/test/metrics:metrics_exporter",
- "../api/test/metrics:stdout_metrics_exporter",
- "../api/test/pclf:media_configuration",
- "../api/test/pclf:media_quality_test_params",
- "../api/test/pclf:peer_configurer",
- "../call:simulated_network",
- "../common_audio",
- "../system_wrappers",
- "../test:fileutils",
- "../test:test_common",
- "../test:test_main",
- "../test:test_support",
- "../test:video_test_constants",
- "../test/pc/e2e:network_quality_metrics_reporter",
- "//testing/gtest",
- ]
- absl_deps = [
- "//third_party/abseil-cpp/absl/flags:flag",
- "//third_party/abseil-cpp/absl/strings",
- ]
- if (is_android) {
- use_default_launcher = false
- deps += [
- "//build/android/gtest_apk:native_test_instrumentation_test_runner_java",
- "//testing/android/native_test:native_test_java",
- "//testing/android/native_test:native_test_support",
- ]
- }
- data = [
- "../resources/voice_engine/audio_tiny16.wav",
- "../resources/voice_engine/audio_tiny48.wav",
- ]
- }
-
- group("low_bandwidth_audio_perf_test") {
- testonly = true
-
- deps = [
- ":low_bandwidth_audio_test",
- "//third_party/catapult/tracing/tracing/proto:histogram_proto",
- "//third_party/protobuf:py_proto_runtime",
- ]
-
- data = [
- "test/low_bandwidth_audio_test.py",
- "../resources/voice_engine/audio_tiny16.wav",
- "../resources/voice_engine/audio_tiny48.wav",
- "${root_out_dir}/pyproto/tracing/tracing/proto/histogram_pb2.py",
- ]
-
- # TODO(http://crbug.com/1029452): Create a cleaner target with just the
- # tracing python code. We don't need Polymer for instance.
- data_deps = [ "//third_party/catapult/tracing:convert_chart_json" ]
-
- if (is_win) {
- data += [ "${root_out_dir}/low_bandwidth_audio_test.exe" ]
- } else {
- data += [ "${root_out_dir}/low_bandwidth_audio_test" ]
- }
-
- if (is_linux || is_chromeos || is_android || is_fuchsia) {
- data += [
- "../tools_webrtc/audio_quality/linux/PolqaOem64",
- "../tools_webrtc/audio_quality/linux/pesq",
- ]
- }
- if (is_win) {
- data += [
- "../tools_webrtc/audio_quality/win/PolqaOem64.dll",
- "../tools_webrtc/audio_quality/win/PolqaOem64.exe",
- "../tools_webrtc/audio_quality/win/pesq.exe",
- "../tools_webrtc/audio_quality/win/vcomp120.dll",
- ]
- }
- if (is_mac) {
- data += [ "../tools_webrtc/audio_quality/mac/pesq" ]
- }
- }
- }
}
diff --git a/audio/test/OWNERS b/audio/test/OWNERS
deleted file mode 100644
index 3754d48..0000000
--- a/audio/test/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-# Script to launch low_bandwidth_audio_test.
-per-file low_bandwidth_audio_test.py=mbonadei@webrtc.org
-per-file low_bandwidth_audio_test.py=jleconte@webrtc.org
diff --git a/audio/test/low_bandwidth_audio_test.cc b/audio/test/low_bandwidth_audio_test.cc
deleted file mode 100644
index 903f482..0000000
--- a/audio/test/low_bandwidth_audio_test.cc
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2017 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.
- */
-
-#include "absl/flags/declare.h"
-#include "absl/flags/flag.h"
-#include "api/test/simulated_network.h"
-#include "audio/test/audio_end_to_end_test.h"
-#include "system_wrappers/include/sleep.h"
-#include "test/testsupport/file_utils.h"
-#include "test/video_test_constants.h"
-
-ABSL_DECLARE_FLAG(int, sample_rate_hz);
-ABSL_DECLARE_FLAG(bool, quick);
-
-namespace webrtc {
-namespace test {
-namespace {
-
-std::string FileSampleRateSuffix() {
- return std::to_string(absl::GetFlag(FLAGS_sample_rate_hz) / 1000);
-}
-
-class AudioQualityTest : public AudioEndToEndTest {
- public:
- AudioQualityTest() = default;
-
- private:
- std::string AudioInputFile() const {
- return test::ResourcePath(
- "voice_engine/audio_tiny" + FileSampleRateSuffix(), "wav");
- }
-
- std::string AudioOutputFile() const {
- const ::testing::TestInfo* const test_info =
- ::testing::UnitTest::GetInstance()->current_test_info();
- return webrtc::test::OutputPath() + "LowBandwidth_" + test_info->name() +
- "_" + FileSampleRateSuffix() + ".wav";
- }
-
- std::unique_ptr<TestAudioDeviceModule::Capturer> CreateCapturer() override {
- return TestAudioDeviceModule::CreateWavFileReader(AudioInputFile());
- }
-
- std::unique_ptr<TestAudioDeviceModule::Renderer> CreateRenderer() override {
- return TestAudioDeviceModule::CreateBoundedWavFileWriter(
- AudioOutputFile(), absl::GetFlag(FLAGS_sample_rate_hz));
- }
-
- void PerformTest() override {
- if (absl::GetFlag(FLAGS_quick)) {
- // Let the recording run for a small amount of time to check if it works.
- SleepMs(1000);
- } else {
- // Sleep for whole audio duration which is 5.4 seconds.
- SleepMs(5400);
- }
- }
-
- void OnStreamsStopped() override {
- const ::testing::TestInfo* const test_info =
- ::testing::UnitTest::GetInstance()->current_test_info();
-
- // Output information about the input and output audio files so that further
- // processing can be done by an external process.
- printf("TEST %s %s %s\n", test_info->name(), AudioInputFile().c_str(),
- AudioOutputFile().c_str());
- }
-};
-
-class Mobile2GNetworkTest : public AudioQualityTest {
- void ModifyAudioConfigs(AudioSendStream::Config* send_config,
- std::vector<AudioReceiveStreamInterface::Config>*
- receive_configs) override {
- send_config->send_codec_spec = AudioSendStream::Config::SendCodecSpec(
- test::VideoTestConstants::kAudioSendPayloadType,
- {"OPUS",
- 48000,
- 2,
- {{"maxaveragebitrate", "6000"}, {"ptime", "60"}, {"stereo", "1"}}});
- }
-
- BuiltInNetworkBehaviorConfig GetSendTransportConfig() const override {
- BuiltInNetworkBehaviorConfig pipe_config;
- pipe_config.link_capacity_kbps = 12;
- pipe_config.queue_length_packets = 1500;
- pipe_config.queue_delay_ms = 400;
- return pipe_config;
- }
-};
-} // namespace
-
-using LowBandwidthAudioTest = CallTest;
-
-TEST_F(LowBandwidthAudioTest, GoodNetworkHighBitrate) {
- AudioQualityTest test;
- RunBaseTest(&test);
-}
-
-TEST_F(LowBandwidthAudioTest, Mobile2GNetwork) {
- Mobile2GNetworkTest test;
- RunBaseTest(&test);
-}
-} // namespace test
-} // namespace webrtc
diff --git a/audio/test/low_bandwidth_audio_test.py b/audio/test/low_bandwidth_audio_test.py
deleted file mode 100755
index 07065e2..0000000
--- a/audio/test/low_bandwidth_audio_test.py
+++ /dev/null
@@ -1,365 +0,0 @@
-#!/usr/bin/env vpython3
-# Copyright (c) 2017 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.
-"""
-This script is the wrapper that runs the low-bandwidth audio test.
-
-After running the test, post-process steps for calculating audio quality of the
-output files will be performed.
-"""
-
-import argparse
-import collections
-import json
-import logging
-import os
-import re
-import shutil
-import subprocess
-import sys
-
-SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
-SRC_DIR = os.path.normpath(os.path.join(SCRIPT_DIR, os.pardir, os.pardir))
-
-NO_TOOLS_ERROR_MESSAGE = (
- 'Could not find PESQ or POLQA at %s.\n'
- '\n'
- 'To fix this run:\n'
- ' python %s %s\n'
- '\n'
- 'Note that these tools are Google-internal due to licensing, so in order '
- 'to use them you will have to get your own license and manually put them '
- 'in the right location.\n'
- 'See https://cs.chromium.org/chromium/src/third_party/webrtc/tools_webrtc/'
- 'download_tools.py?rcl=bbceb76f540159e2dba0701ac03c514f01624130&l=13')
-
-
-def _LogCommand(command):
- logging.info('Running %r', command)
- return command
-
-
-def _ParseArgs():
- parser = argparse.ArgumentParser(description='Run low-bandwidth audio tests.')
- parser.add_argument('build_dir',
- help='Path to the build directory (e.g. out/Release).')
- parser.add_argument('--remove',
- action='store_true',
- help='Remove output audio files after testing.')
- parser.add_argument(
- '--android',
- action='store_true',
- help='Perform the test on a connected Android device instead.')
- parser.add_argument('--adb-path', help='Path to adb binary.', default='adb')
- parser.add_argument('--num-retries',
- default='0',
- help='Number of times to retry the test on Android.')
- parser.add_argument(
- '--isolated-script-test-perf-output',
- default=None,
- help='Path to store perf results in histogram proto format.')
- parser.add_argument(
- '--isolated-script-test-output',
- default=None,
- help='Path to output an empty JSON file which Chromium infra requires.')
-
- return parser.parse_known_args()
-
-
-def _GetPlatform():
- if sys.platform == 'win32':
- return 'win'
- if sys.platform == 'darwin':
- return 'mac'
- if sys.platform.startswith('linux'):
- return 'linux'
- raise AssertionError('Unknown platform %s' % sys.platform)
-
-
-def _GetExtension():
- return '.exe' if sys.platform == 'win32' else ''
-
-
-def _GetPathToTools():
- tools_dir = os.path.join(SRC_DIR, 'tools_webrtc')
- toolchain_dir = os.path.join(tools_dir, 'audio_quality')
-
- platform = _GetPlatform()
- ext = _GetExtension()
-
- pesq_path = os.path.join(toolchain_dir, platform, 'pesq' + ext)
- if not os.path.isfile(pesq_path):
- pesq_path = None
-
- polqa_path = os.path.join(toolchain_dir, platform, 'PolqaOem64' + ext)
- if not os.path.isfile(polqa_path):
- polqa_path = None
-
- if (platform != 'mac' and not polqa_path) or not pesq_path:
- logging.error(NO_TOOLS_ERROR_MESSAGE, toolchain_dir,
- os.path.join(tools_dir, 'download_tools.py'), toolchain_dir)
-
- return pesq_path, polqa_path
-
-
-def ExtractTestRuns(lines, echo=False):
- """Extracts information about tests from the output of a test runner.
-
- Produces tuples
- (android_device, test_name, reference_file, degraded_file, cur_perf_results).
- """
- for line in lines:
- if echo:
- sys.stdout.write(line)
-
- # Output from Android has a prefix with the device name.
- android_prefix_re = r'(?:I\b.+\brun_tests_on_device\((.+?)\)\s*)?'
- test_re = r'^' + android_prefix_re + (r'TEST (\w+) ([^ ]+?) ([^\s]+)'
- r' ?([^\s]+)?\s*$')
-
- match = re.search(test_re, line)
- if match:
- yield match.groups()
-
-
-def _GetFile(file_path,
- out_dir,
- move=False,
- android=False,
- adb_prefix=('adb', )):
- out_file_name = os.path.basename(file_path)
- out_file_path = os.path.join(out_dir, out_file_name)
-
- if android:
- # Pull the file from the connected Android device.
- adb_command = adb_prefix + ('pull', file_path, out_dir)
- subprocess.check_call(_LogCommand(adb_command))
- if move:
- # Remove that file.
- adb_command = adb_prefix + ('shell', 'rm', file_path)
- subprocess.check_call(_LogCommand(adb_command))
- elif os.path.abspath(file_path) != os.path.abspath(out_file_path):
- if move:
- shutil.move(file_path, out_file_path)
- else:
- shutil.copy(file_path, out_file_path)
-
- return out_file_path
-
-
-def _RunPesq(executable_path,
- reference_file,
- degraded_file,
- sample_rate_hz=16000):
- directory = os.path.dirname(reference_file)
- assert os.path.dirname(degraded_file) == directory
-
- # Analyze audio.
- command = [
- executable_path,
- '+%d' % sample_rate_hz,
- os.path.basename(reference_file),
- os.path.basename(degraded_file)
- ]
- # Need to provide paths in the current directory due to a bug in PESQ:
- # On Mac, for some 'path/to/file.wav', if 'file.wav' is longer than
- # 'path/to', PESQ crashes.
- out = subprocess.check_output(_LogCommand(command),
- cwd=directory,
- universal_newlines=True,
- stderr=subprocess.STDOUT)
-
- # Find the scores in stdout of PESQ.
- match = re.search(
- r'Prediction \(Raw MOS, MOS-LQO\):\s+=\s+([\d.]+)\s+([\d.]+)', out)
- if match:
- raw_mos, _ = match.groups()
- return {'pesq_mos': (raw_mos, 'unitless')}
- logging.error('PESQ: %s', out.splitlines()[-1])
- return {}
-
-
-def _RunPolqa(executable_path, reference_file, degraded_file):
- # Analyze audio.
- command = [
- executable_path, '-q', '-LC', 'NB', '-Ref', reference_file, '-Test',
- degraded_file
- ]
- process = subprocess.Popen(_LogCommand(command),
- universal_newlines=True,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
- out, err = process.communicate()
-
- # Find the scores in stdout of POLQA.
- match = re.search(r'\bMOS-LQO:\s+([\d.]+)', out)
-
- if process.returncode != 0 or not match:
- if process.returncode == 2:
- logging.warning('%s (2)', err.strip())
- logging.warning('POLQA license error, skipping test.')
- else:
- logging.error('%s (%d)', err.strip(), process.returncode)
- return {}
-
- mos_lqo, = match.groups()
- return {'polqa_mos_lqo': (mos_lqo, 'unitless')}
-
-
-def _MergeInPerfResultsFromCcTests(histograms, run_perf_results_file):
- from tracing.value import histogram_set
-
- cc_histograms = histogram_set.HistogramSet()
- with open(run_perf_results_file, 'rb') as f:
- contents = f.read()
- if not contents:
- return
-
- cc_histograms.ImportProto(contents)
-
- histograms.Merge(cc_histograms)
-
-
-Analyzer = collections.namedtuple(
- 'Analyzer', ['name', 'func', 'executable', 'sample_rate_hz'])
-
-
-def _ConfigurePythonPath(args):
- script_dir = os.path.dirname(os.path.realpath(__file__))
- checkout_root = os.path.abspath(os.path.join(script_dir, os.pardir,
- os.pardir))
-
- # TODO(https://crbug.com/1029452): Use a copy rule and add these from the
- # out dir like for the third_party/protobuf code.
- sys.path.insert(
- 0, os.path.join(checkout_root, 'third_party', 'catapult', 'tracing'))
-
- # The low_bandwidth_audio_perf_test gn rule will build the protobuf stub
- # for python, so put it in the path for this script before we attempt to
- # import it.
- histogram_proto_path = os.path.join(os.path.abspath(args.build_dir),
- 'pyproto', 'tracing', 'tracing', 'proto')
- sys.path.insert(0, histogram_proto_path)
- proto_stub_path = os.path.join(os.path.abspath(args.build_dir), 'pyproto')
- sys.path.insert(0, proto_stub_path)
-
- # Fail early in case the proto hasn't been built.
- try:
- #pylint: disable=unused-import
- import histogram_pb2
- except ImportError as e:
- raise ImportError('Could not import histogram_pb2. You need to build the '
- 'low_bandwidth_audio_perf_test target before invoking '
- 'this script. Expected to find '
- 'histogram_pb2.py in %s.' % histogram_proto_path) from e
-
-
-def main():
- logging.basicConfig(format='%(asctime)s %(levelname)-8s %(message)s',
- level=logging.INFO,
- datefmt='%Y-%m-%d %H:%M:%S')
- logging.info('Invoked with %s', str(sys.argv))
-
- args, extra_test_args = _ParseArgs()
-
- _ConfigurePythonPath(args)
-
- # Import catapult modules here after configuring the pythonpath.
- from tracing.value import histogram_set
- from tracing.value.diagnostics import reserved_infos
- from tracing.value.diagnostics import generic_set
-
- pesq_path, polqa_path = _GetPathToTools()
- if pesq_path is None:
- return 1
-
- out_dir = os.path.join(args.build_dir, '..')
- if args.android:
- test_command = [
- os.path.join(args.build_dir, 'bin', 'run_low_bandwidth_audio_test'),
- '-v', '--num-retries', args.num_retries
- ]
- else:
- test_command = [os.path.join(args.build_dir, 'low_bandwidth_audio_test')]
-
- analyzers = [Analyzer('pesq', _RunPesq, pesq_path, 16000)]
- # Check if POLQA can run at all, or skip the 48 kHz tests entirely.
- example_path = os.path.join(SRC_DIR, 'resources', 'voice_engine',
- 'audio_tiny48.wav')
- if polqa_path and _RunPolqa(polqa_path, example_path, example_path):
- analyzers.append(Analyzer('polqa', _RunPolqa, polqa_path, 48000))
-
- histograms = histogram_set.HistogramSet()
- for analyzer in analyzers:
- # Start the test executable that produces audio files.
- test_process = subprocess.Popen(_LogCommand(test_command + [
- '--sample_rate_hz=%d' % analyzer.sample_rate_hz,
- '--test_case_prefix=%s' % analyzer.name,
- ] + extra_test_args),
- universal_newlines=True,
- stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT)
- perf_results_file = None
- try:
- lines = iter(test_process.stdout.readline, '')
- for result in ExtractTestRuns(lines, echo=True):
- (android_device, test_name, reference_file, degraded_file,
- perf_results_file) = result
-
- adb_prefix = (args.adb_path, )
- if android_device:
- adb_prefix += ('-s', android_device)
-
- reference_file = _GetFile(reference_file,
- out_dir,
- android=args.android,
- adb_prefix=adb_prefix)
- degraded_file = _GetFile(degraded_file,
- out_dir,
- move=True,
- android=args.android,
- adb_prefix=adb_prefix)
-
- analyzer_results = analyzer.func(analyzer.executable, reference_file,
- degraded_file)
- for metric, (value, units) in list(analyzer_results.items()):
- hist = histograms.CreateHistogram(metric, units, [value])
- user_story = generic_set.GenericSet([test_name])
- hist.diagnostics[reserved_infos.STORIES.name] = user_story
-
- # Output human readable results.
- print('RESULT %s: %s= %s %s' % (metric, test_name, value, units))
-
- if args.remove:
- os.remove(reference_file)
- os.remove(degraded_file)
- finally:
- test_process.terminate()
- if perf_results_file:
- perf_results_file = _GetFile(perf_results_file,
- out_dir,
- move=True,
- android=args.android,
- adb_prefix=adb_prefix)
- _MergeInPerfResultsFromCcTests(histograms, perf_results_file)
- if args.remove:
- os.remove(perf_results_file)
-
- if args.isolated_script_test_perf_output:
- with open(args.isolated_script_test_perf_output, 'wb') as f:
- f.write(histograms.AsProto().SerializeToString())
-
- if args.isolated_script_test_output:
- with open(args.isolated_script_test_output, 'w') as f:
- json.dump({"version": 3}, f)
-
- return test_process.wait()
-
-
-if __name__ == '__main__':
- sys.exit(main())
diff --git a/audio/test/low_bandwidth_audio_test_flags.cc b/audio/test/low_bandwidth_audio_test_flags.cc
deleted file mode 100644
index 9d93790..0000000
--- a/audio/test/low_bandwidth_audio_test_flags.cc
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2019 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.
- */
-// #ifndef AUDIO_TEST_LOW_BANDWIDTH_AUDIO_TEST_FLAGS_H_
-// #define AUDIO_TEST_LOW_BANDWIDTH_AUDIO_TEST_FLAGS_H_
-
-#include "absl/flags/flag.h"
-
-ABSL_FLAG(int,
- sample_rate_hz,
- 16000,
- "Sample rate (Hz) of the produced audio files.");
-
-ABSL_FLAG(bool,
- quick,
- false,
- "Don't do the full audio recording. "
- "Used to quickly check that the test runs without crashing.");
-
-ABSL_FLAG(std::string, test_case_prefix, "", "Test case prefix.");
-
-// #endif // AUDIO_TEST_LOW_BANDWIDTH_AUDIO_TEST_FLAGS_H_
diff --git a/audio/test/pc_low_bandwidth_audio_test.cc b/audio/test/pc_low_bandwidth_audio_test.cc
deleted file mode 100644
index 083aedf..0000000
--- a/audio/test/pc_low_bandwidth_audio_test.cc
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 2019 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.
- */
-
-#include <memory>
-
-#include "absl/flags/declare.h"
-#include "absl/flags/flag.h"
-#include "absl/strings/string_view.h"
-#include "api/test/create_network_emulation_manager.h"
-#include "api/test/create_peerconnection_quality_test_fixture.h"
-#include "api/test/metrics/chrome_perf_dashboard_metrics_exporter.h"
-#include "api/test/metrics/global_metrics_logger_and_exporter.h"
-#include "api/test/metrics/metrics_exporter.h"
-#include "api/test/metrics/stdout_metrics_exporter.h"
-#include "api/test/network_emulation_manager.h"
-#include "api/test/pclf/media_configuration.h"
-#include "api/test/pclf/media_quality_test_params.h"
-#include "api/test/pclf/peer_configurer.h"
-#include "api/test/peerconnection_quality_test_fixture.h"
-#include "api/test/simulated_network.h"
-#include "api/test/time_controller.h"
-#include "call/simulated_network.h"
-#include "test/gtest.h"
-#include "test/pc/e2e/network_quality_metrics_reporter.h"
-#include "test/testsupport/file_utils.h"
-
-ABSL_DECLARE_FLAG(std::string, test_case_prefix);
-ABSL_DECLARE_FLAG(int, sample_rate_hz);
-ABSL_DECLARE_FLAG(bool, quick);
-
-namespace webrtc {
-namespace test {
-
-using ::webrtc::webrtc_pc_e2e::AudioConfig;
-using ::webrtc::webrtc_pc_e2e::PeerConfigurer;
-using ::webrtc::webrtc_pc_e2e::RunParams;
-
-namespace {
-
-constexpr int kTestDurationMs = 5400;
-constexpr int kQuickTestDurationMs = 100;
-
-std::string GetMetricTestCaseName() {
- const ::testing::TestInfo* const test_info =
- ::testing::UnitTest::GetInstance()->current_test_info();
- std::string test_case_prefix(absl::GetFlag(FLAGS_test_case_prefix));
- if (test_case_prefix.empty()) {
- return test_info->name();
- }
- return test_case_prefix + "_" + test_info->name();
-}
-
-std::unique_ptr<webrtc_pc_e2e::PeerConnectionE2EQualityTestFixture>
-CreateTestFixture(absl::string_view test_case_name,
- TimeController& time_controller,
- std::pair<EmulatedNetworkManagerInterface*,
- EmulatedNetworkManagerInterface*> network_links,
- rtc::FunctionView<void(PeerConfigurer*)> alice_configurer,
- rtc::FunctionView<void(PeerConfigurer*)> bob_configurer) {
- auto fixture = webrtc_pc_e2e::CreatePeerConnectionE2EQualityTestFixture(
- std::string(test_case_name), time_controller,
- /*audio_quality_analyzer=*/nullptr,
- /*video_quality_analyzer=*/nullptr);
- auto alice = std::make_unique<PeerConfigurer>(
- network_links.first->network_dependencies());
- auto bob = std::make_unique<PeerConfigurer>(
- network_links.second->network_dependencies());
- alice_configurer(alice.get());
- bob_configurer(bob.get());
- fixture->AddPeer(std::move(alice));
- fixture->AddPeer(std::move(bob));
- fixture->AddQualityMetricsReporter(
- std::make_unique<webrtc_pc_e2e::NetworkQualityMetricsReporter>(
- network_links.first, network_links.second,
- test::GetGlobalMetricsLogger()));
- return fixture;
-}
-
-std::string FileSampleRateSuffix() {
- return std::to_string(absl::GetFlag(FLAGS_sample_rate_hz) / 1000);
-}
-
-std::string AudioInputFile() {
- return test::ResourcePath("voice_engine/audio_tiny" + FileSampleRateSuffix(),
- "wav");
-}
-
-std::string AudioOutputFile() {
- const ::testing::TestInfo* const test_info =
- ::testing::UnitTest::GetInstance()->current_test_info();
- return webrtc::test::OutputPath() + "PCLowBandwidth_" + test_info->name() +
- "_" + FileSampleRateSuffix() + ".wav";
-}
-
-std::string PerfResultsOutputFile() {
- return webrtc::test::OutputPath() + "PCLowBandwidth_perf_" +
- FileSampleRateSuffix() + ".pb";
-}
-
-void LogTestResults() {
- std::string perf_results_output_file = PerfResultsOutputFile();
- std::vector<std::unique_ptr<MetricsExporter>> exporters;
- exporters.push_back(std::make_unique<StdoutMetricsExporter>());
- exporters.push_back(std::make_unique<ChromePerfDashboardMetricsExporter>(
- perf_results_output_file));
- EXPECT_TRUE(
- ExportPerfMetric(*GetGlobalMetricsLogger(), std::move(exporters)));
-
- const ::testing::TestInfo* const test_info =
- ::testing::UnitTest::GetInstance()->current_test_info();
-
- // Output information about the input and output audio files so that further
- // processing can be done by an external process.
- printf("TEST %s %s %s %s\n", test_info->name(), AudioInputFile().c_str(),
- AudioOutputFile().c_str(), perf_results_output_file.c_str());
-}
-
-} // namespace
-
-TEST(PCLowBandwidthAudioTest, PCGoodNetworkHighBitrate) {
- std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
- CreateNetworkEmulationManager();
- auto fixture = CreateTestFixture(
- GetMetricTestCaseName(), *network_emulation_manager->time_controller(),
- network_emulation_manager->CreateEndpointPairWithTwoWayRoutes(
- BuiltInNetworkBehaviorConfig()),
- [](PeerConfigurer* alice) {
- AudioConfig audio;
- audio.stream_label = "alice-audio";
- audio.input_file_name = AudioInputFile();
- audio.output_dump_file_name = AudioOutputFile();
- audio.sampling_frequency_in_hz = absl::GetFlag(FLAGS_sample_rate_hz);
- alice->SetAudioConfig(std::move(audio));
- },
- [](PeerConfigurer* bob) {});
- fixture->Run(RunParams(TimeDelta::Millis(
- absl::GetFlag(FLAGS_quick) ? kQuickTestDurationMs : kTestDurationMs)));
- LogTestResults();
-}
-
-TEST(PCLowBandwidthAudioTest, PC40kbpsNetwork) {
- std::unique_ptr<NetworkEmulationManager> network_emulation_manager =
- CreateNetworkEmulationManager();
- BuiltInNetworkBehaviorConfig config;
- config.link_capacity_kbps = 40;
- config.queue_length_packets = 1500;
- config.queue_delay_ms = 400;
- config.loss_percent = 1;
- auto fixture = CreateTestFixture(
- GetMetricTestCaseName(), *network_emulation_manager->time_controller(),
- network_emulation_manager->CreateEndpointPairWithTwoWayRoutes(config),
- [](PeerConfigurer* alice) {
- AudioConfig audio;
- audio.stream_label = "alice-audio";
- audio.input_file_name = AudioInputFile();
- audio.output_dump_file_name = AudioOutputFile();
- audio.sampling_frequency_in_hz = absl::GetFlag(FLAGS_sample_rate_hz);
- alice->SetAudioConfig(std::move(audio));
- },
- [](PeerConfigurer* bob) {});
- fixture->Run(RunParams(TimeDelta::Millis(
- absl::GetFlag(FLAGS_quick) ? kQuickTestDurationMs : kTestDurationMs)));
- LogTestResults();
-}
-
-} // namespace test
-} // namespace webrtc
diff --git a/audio/test/unittests/low_bandwidth_audio_test_test.py b/audio/test/unittests/low_bandwidth_audio_test_test.py
deleted file mode 100755
index be72fcb..0000000
--- a/audio/test/unittests/low_bandwidth_audio_test_test.py
+++ /dev/null
@@ -1,239 +0,0 @@
-#!/usr/bin/env python3
-# Copyright (c) 2017 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.
-
-from __future__ import absolute_import
-import os
-import unittest
-import sys
-
-SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
-PARENT_DIR = os.path.join(SCRIPT_DIR, os.pardir)
-sys.path.append(PARENT_DIR)
-import low_bandwidth_audio_test
-
-
-class TestExtractTestRuns(unittest.TestCase):
- def _TestLog(self, log, *expected):
- self.assertEqual(
- tuple(low_bandwidth_audio_test.ExtractTestRuns(log.splitlines(True))),
- expected)
-
- def testLinux(self):
- self._TestLog(
- LINUX_LOG,
- (None, 'GoodNetworkHighBitrate',
- '/webrtc/src/resources/voice_engine/audio_tiny16.wav',
- '/webrtc/src/out/LowBandwidth_GoodNetworkHighBitrate.wav', None),
- (None, 'Mobile2GNetwork',
- '/webrtc/src/resources/voice_engine/audio_tiny16.wav',
- '/webrtc/src/out/LowBandwidth_Mobile2GNetwork.wav', None),
- (None, 'PCGoodNetworkHighBitrate',
- '/webrtc/src/resources/voice_engine/audio_tiny16.wav',
- '/webrtc/src/out/PCLowBandwidth_PCGoodNetworkHighBitrate.wav',
- '/webrtc/src/out/PCLowBandwidth_perf_48.json'),
- (None, 'PCMobile2GNetwork',
- '/webrtc/src/resources/voice_engine/audio_tiny16.wav',
- '/webrtc/src/out/PCLowBandwidth_PCMobile2GNetwork.wav',
- '/webrtc/src/out/PCLowBandwidth_perf_48.json'))
-
- def testAndroid(self):
- self._TestLog(
- ANDROID_LOG,
- ('ddfa6149', 'Mobile2GNetwork',
- '/sdcard/chromium_tests_root/resources/voice_engine/audio_tiny16.wav',
- '/sdcard/chromium_tests_root/LowBandwidth_Mobile2GNetwork.wav', None),
- ('TA99205CNO', 'GoodNetworkHighBitrate',
- '/sdcard/chromium_tests_root/resources/voice_engine/audio_tiny16.wav',
- '/sdcard/chromium_tests_root/LowBandwidth_GoodNetworkHighBitrate.wav',
- None),
- ('ddfa6149', 'PCMobile2GNetwork',
- '/sdcard/chromium_tests_root/resources/voice_engine/audio_tiny16.wav',
- '/sdcard/chromium_tests_root/PCLowBandwidth_PCMobile2GNetwork.wav',
- '/sdcard/chromium_tests_root/PCLowBandwidth_perf_48.json'),
- ('TA99205CNO', 'PCGoodNetworkHighBitrate',
- '/sdcard/chromium_tests_root/resources/voice_engine/audio_tiny16.wav',
- ('/sdcard/chromium_tests_root/'
- 'PCLowBandwidth_PCGoodNetworkHighBitrate.wav'),
- '/sdcard/chromium_tests_root/PCLowBandwidth_perf_48.json'))
-
-
-LINUX_LOG = r'''\
-[==========] Running 2 tests from 1 test case.
-[----------] Global test environment set-up.
-[----------] 2 tests from LowBandwidthAudioTest
-[ RUN ] LowBandwidthAudioTest.GoodNetworkHighBitrate
-TEST GoodNetworkHighBitrate /webrtc/src/resources/voice_engine/audio_tiny16.wav /webrtc/src/out/LowBandwidth_GoodNetworkHighBitrate.wav
-[ OK ] LowBandwidthAudioTest.GoodNetworkHighBitrate (5932 ms)
-[ RUN ] LowBandwidthAudioTest.Mobile2GNetwork
-TEST Mobile2GNetwork /webrtc/src/resources/voice_engine/audio_tiny16.wav /webrtc/src/out/LowBandwidth_Mobile2GNetwork.wav
-[ OK ] LowBandwidthAudioTest.Mobile2GNetwork (6333 ms)
-[----------] 2 tests from LowBandwidthAudioTest (12265 ms total)
-[----------] 2 tests from PCLowBandwidthAudioTest
-[ RUN ] PCLowBandwidthAudioTest.PCGoodNetworkHighBitrate
-TEST PCGoodNetworkHighBitrate /webrtc/src/resources/voice_engine/audio_tiny16.wav /webrtc/src/out/PCLowBandwidth_PCGoodNetworkHighBitrate.wav /webrtc/src/out/PCLowBandwidth_perf_48.json
-[ OK ] PCLowBandwidthAudioTest.PCGoodNetworkHighBitrate (5932 ms)
-[ RUN ] PCLowBandwidthAudioTest.PCMobile2GNetwork
-TEST PCMobile2GNetwork /webrtc/src/resources/voice_engine/audio_tiny16.wav /webrtc/src/out/PCLowBandwidth_PCMobile2GNetwork.wav /webrtc/src/out/PCLowBandwidth_perf_48.json
-[ OK ] PCLowBandwidthAudioTest.PCMobile2GNetwork (6333 ms)
-[----------] 2 tests from PCLowBandwidthAudioTest (12265 ms total)
-
-[----------] Global test environment tear-down
-[==========] 2 tests from 1 test case ran. (12266 ms total)
-[ PASSED ] 2 tests.
-'''
-
-ANDROID_LOG = r'''\
-I 0.000s Main command: /webrtc/src/build/android/test_runner.py gtest --suite low_bandwidth_audio_test --output-directory /webrtc/src/out/debug-android --runtime-deps-path /webrtc/src/out/debug-android/gen.runtime/webrtc/audio/low_bandwidth_audio_test__test_runner_script.runtime_deps -v
-I 0.007s Main [host]> /webrtc/src/third_party/android_sdk/public/build-tools/24.0.2/aapt dump xmltree /webrtc/src/out/debug-android/low_bandwidth_audio_test_apk/low_bandwidth_audio_test-debug.apk AndroidManifest.xml
-I 0.028s TimeoutThread-1-for-MainThread [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb devices
-I 0.062s TimeoutThread-1-for-prepare_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO wait-for-device
-I 0.063s TimeoutThread-1-for-prepare_device(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 wait-for-device
-I 0.102s TimeoutThread-1-for-prepare_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( ( c=/data/local/tmp/cache_token;echo $EXTERNAL_STORAGE;cat $c 2>/dev/null||echo;echo "77611072-160c-11d7-9362-705b0f464195">$c &&getprop )>/data/local/tmp/temp_file-5ea34389e3f92 );echo %$?'
-I 0.105s TimeoutThread-1-for-prepare_device(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( ( c=/data/local/tmp/cache_token;echo $EXTERNAL_STORAGE;cat $c 2>/dev/null||echo;echo "77618afc-160c-11d7-bda4-705b0f464195">$c &&getprop )>/data/local/tmp/temp_file-b995cef6e0e3d );echo %$?'
-I 0.204s TimeoutThread-1-for-prepare_device(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 pull /data/local/tmp/temp_file-b995cef6e0e3d /tmp/tmpieAgDj/tmp_ReadFileWithPull
-I 0.285s TimeoutThread-1-for-prepare_device(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( test -d /storage/emulated/legacy );echo %$?'
-I 0.285s TimeoutThread-1-for-delete_temporary_file(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell 'rm -f /data/local/tmp/temp_file-b995cef6e0e3d'
-I 0.302s TimeoutThread-1-for-prepare_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO pull /data/local/tmp/temp_file-5ea34389e3f92 /tmp/tmpvlyG3I/tmp_ReadFileWithPull
-I 0.352s TimeoutThread-1-for-prepare_device(ddfa6149) condition 'sd_card_ready' met (0.3s)
-I 0.353s TimeoutThread-1-for-prepare_device(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( pm path android );echo %$?'
-I 0.369s TimeoutThread-1-for-prepare_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( test -d /sdcard );echo %$?'
-I 0.370s TimeoutThread-1-for-delete_temporary_file(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell 'rm -f /data/local/tmp/temp_file-5ea34389e3f92'
-I 0.434s TimeoutThread-1-for-prepare_device(TA99205CNO) condition 'sd_card_ready' met (0.4s)
-I 0.434s TimeoutThread-1-for-prepare_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( pm path android );echo %$?'
-I 1.067s TimeoutThread-1-for-prepare_device(ddfa6149) condition 'pm_ready' met (1.0s)
-I 1.067s TimeoutThread-1-for-prepare_device(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( getprop sys.boot_completed );echo %$?'
-I 1.115s TimeoutThread-1-for-prepare_device(ddfa6149) condition 'boot_completed' met (1.1s)
-I 1.181s TimeoutThread-1-for-prepare_device(TA99205CNO) condition 'pm_ready' met (1.1s)
-I 1.181s TimeoutThread-1-for-prepare_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( getprop sys.boot_completed );echo %$?'
-I 1.242s TimeoutThread-1-for-prepare_device(TA99205CNO) condition 'boot_completed' met (1.2s)
-I 1.268s TimeoutThread-1-for-individual_device_set_up(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( pm path org.chromium.native_test );echo %$?'
-I 1.269s TimeoutThread-1-for-individual_device_set_up(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( pm path org.chromium.native_test );echo %$?'
-I 2.008s calculate_device_checksums [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( a=/data/local/tmp/md5sum/md5sum_bin;! [[ $(ls -l $a) = *1225256* ]]&&exit 2;export LD_LIBRARY_PATH=/data/local/tmp/md5sum;$a /data/app/org.chromium.native_test-2/base.apk;: );echo %$?'
-I 2.008s calculate_host_checksums [host]> /webrtc/src/out/debug-android/md5sum_bin_host /webrtc/src/out/debug-android/low_bandwidth_audio_test_apk/low_bandwidth_audio_test-debug.apk
-I 2.019s calculate_device_checksums [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( a=/data/local/tmp/md5sum/md5sum_bin;! [[ $(ls -l $a) = *1225256* ]]&&exit 2;export LD_LIBRARY_PATH=/data/local/tmp/md5sum;$a /data/app/org.chromium.native_test-1/base.apk;: );echo %$?'
-I 2.020s calculate_host_checksums [host]> /webrtc/src/out/debug-android/md5sum_bin_host /webrtc/src/out/debug-android/low_bandwidth_audio_test_apk/low_bandwidth_audio_test-debug.apk
-I 2.172s TimeoutThread-1-for-individual_device_set_up(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( p=org.chromium.native_test;if [[ "$(ps)" = *$p* ]]; then am force-stop $p; fi );echo %$?'
-I 2.183s TimeoutThread-1-for-individual_device_set_up(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( p=org.chromium.native_test;if [[ "$(ps)" = *$p* ]]; then am force-stop $p; fi );echo %$?'
-I 2.290s calculate_device_checksums [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( a=/data/local/tmp/md5sum/md5sum_bin;! [[ $(ls -l $a) = *1225256* ]]&&exit 2;export LD_LIBRARY_PATH=/data/local/tmp/md5sum;$a /sdcard/chromium_tests_root/resources/voice_engine/audio_tiny16.wav;: );echo %$?'
-I 2.291s calculate_host_checksums [host]> /webrtc/src/out/debug-android/md5sum_bin_host /webrtc/src/resources/voice_engine/audio_tiny16.wav
-I 2.373s calculate_device_checksums [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( a=/data/local/tmp/md5sum/md5sum_bin;! [[ $(ls -l $a) = *1225256* ]]&&exit 2;export LD_LIBRARY_PATH=/data/local/tmp/md5sum;$a /storage/emulated/legacy/chromium_tests_root/resources/voice_engine/audio_tiny16.wav;: );echo %$?'
-I 2.374s calculate_host_checksums [host]> /webrtc/src/out/debug-android/md5sum_bin_host /webrtc/src/resources/voice_engine/audio_tiny16.wav
-I 2.390s calculate_device_checksums [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( a=/data/local/tmp/md5sum/md5sum_bin;! [[ $(ls -l $a) = *1225256* ]]&&exit 2;export LD_LIBRARY_PATH=/data/local/tmp/md5sum;$a /sdcard/chromium_tests_root/icudtl.dat;: );echo %$?'
-I 2.390s calculate_host_checksums [host]> /webrtc/src/out/debug-android/md5sum_bin_host /webrtc/src/out/debug-android/icudtl.dat
-I 2.472s calculate_device_checksums [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( a=/data/local/tmp/md5sum/md5sum_bin;! [[ $(ls -l $a) = *1225256* ]]&&exit 2;export LD_LIBRARY_PATH=/data/local/tmp/md5sum;$a /storage/emulated/legacy/chromium_tests_root/icudtl.dat;: );echo %$?'
-I 2.472s calculate_host_checksums [host]> /webrtc/src/out/debug-android/md5sum_bin_host /webrtc/src/out/debug-android/icudtl.dat
-I 2.675s TimeoutThread-1-for-list_tests(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( ( p=org.chromium.native_test;am instrument -w -e "$p".NativeTestInstrumentationTestRunner.ShardNanoTimeout 30000000000 -e "$p".NativeTestInstrumentationTestRunner.NativeTestActivity "$p".NativeUnitTestActivity -e "$p".NativeTestInstrumentationTestRunner.StdoutFile /sdcard/temp_file-6407c967884af.gtest_out -e "$p".NativeTest.CommandLineFlags --gtest_list_tests "$p"/"$p".NativeTestInstrumentationTestRunner )>/data/local/tmp/temp_file-d21ebcd0977d9 );echo %$?'
-I 2.675s TimeoutThread-1-for-list_tests(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( ( p=org.chromium.native_test;am instrument -w -e "$p".NativeTestInstrumentationTestRunner.ShardNanoTimeout 30000000000 -e "$p".NativeTestInstrumentationTestRunner.NativeTestActivity "$p".NativeUnitTestActivity -e "$p".NativeTestInstrumentationTestRunner.StdoutFile /storage/emulated/legacy/temp_file-fa09560c3259.gtest_out -e "$p".NativeTest.CommandLineFlags --gtest_list_tests "$p"/"$p".NativeTestInstrumentationTestRunner )>/data/local/tmp/temp_file-95ad995999939 );echo %$?'
-I 3.739s TimeoutThread-1-for-list_tests(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 pull /data/local/tmp/temp_file-95ad995999939 /tmp/tmpSnnF6Y/tmp_ReadFileWithPull
-I 3.807s TimeoutThread-1-for-delete_temporary_file(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell 'rm -f /data/local/tmp/temp_file-95ad995999939'
-I 3.812s TimeoutThread-1-for-list_tests(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( TZ=utc ls -a -l /storage/emulated/legacy/ );echo %$?'
-I 3.866s TimeoutThread-1-for-list_tests(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( cat /storage/emulated/legacy/temp_file-fa09560c3259.gtest_out );echo %$?'
-I 3.912s TimeoutThread-1-for-delete_temporary_file(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell 'rm -f /storage/emulated/legacy/temp_file-fa09560c3259.gtest_out'
-I 4.256s TimeoutThread-1-for-list_tests(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO pull /data/local/tmp/temp_file-d21ebcd0977d9 /tmp/tmpokPF5b/tmp_ReadFileWithPull
-I 4.324s TimeoutThread-1-for-delete_temporary_file(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell 'rm -f /data/local/tmp/temp_file-d21ebcd0977d9'
-I 4.342s TimeoutThread-1-for-list_tests(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( TZ=utc ls -a -l /sdcard/ );echo %$?'
-I 4.432s TimeoutThread-1-for-list_tests(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( cat /sdcard/temp_file-6407c967884af.gtest_out );echo %$?'
-I 4.476s TimeoutThread-1-for-delete_temporary_file(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell 'rm -f /sdcard/temp_file-6407c967884af.gtest_out'
-I 4.483s Main Using external sharding settings. This is shard 0/1
-I 4.483s Main STARTING TRY #1/3
-I 4.484s Main Will run 2 tests on 2 devices: TA99205CNO, ddfa6149
-I 4.486s TimeoutThread-1-for-run_tests_on_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( pm dump org.chromium.native_test | grep dataDir=; echo "PIPESTATUS: ${PIPESTATUS[@]}" );echo %$?'
-I 4.486s TimeoutThread-1-for-run_tests_on_device(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( pm dump org.chromium.native_test | grep dataDir=; echo "PIPESTATUS: ${PIPESTATUS[@]}" );echo %$?'
-I 5.551s run_tests_on_device(TA99205CNO) flags:
-I 5.552s run_tests_on_device(ddfa6149) flags:
-I 5.554s TimeoutThread-1-for-run_tests_on_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( ( p=org.chromium.native_test;am instrument -w -e "$p".NativeTestInstrumentationTestRunner.ShardNanoTimeout 120000000000 -e "$p".NativeTestInstrumentationTestRunner.NativeTestActivity "$p".NativeUnitTestActivity -e "$p".NativeTestInstrumentationTestRunner.Test LowBandwidthAudioTest.GoodNetworkHighBitrate -e "$p".NativeTestInstrumentationTestRunner.StdoutFile /sdcard/temp_file-ffe7b76691cb7.gtest_out "$p"/"$p".NativeTestInstrumentationTestRunner )>/data/local/tmp/temp_file-c9d83b3078ab1 );echo %$?'
-I 5.556s TimeoutThread-1-for-run_tests_on_device(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( ( p=org.chromium.native_test;am instrument -w -e "$p".NativeTestInstrumentationTestRunner.ShardNanoTimeout 120000000000 -e "$p".NativeTestInstrumentationTestRunner.NativeTestActivity "$p".NativeUnitTestActivity -e "$p".NativeTestInstrumentationTestRunner.Test LowBandwidthAudioTest.Mobile2GNetwork -e "$p".NativeTestInstrumentationTestRunner.StdoutFile /storage/emulated/legacy/temp_file-f0ceb1a05ea8.gtest_out "$p"/"$p".NativeTestInstrumentationTestRunner )>/data/local/tmp/temp_file-245ef307a5b32 );echo %$?'
-I 12.956s TimeoutThread-1-for-run_tests_on_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO pull /data/local/tmp/temp_file-c9d83b3078ab1 /tmp/tmpRQhTcM/tmp_ReadFileWithPull
-I 13.024s TimeoutThread-1-for-delete_temporary_file(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell 'rm -f /data/local/tmp/temp_file-c9d83b3078ab1'
-I 13.032s TimeoutThread-1-for-run_tests_on_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( TZ=utc ls -a -l /sdcard/ );echo %$?'
-I 13.114s TimeoutThread-1-for-run_tests_on_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( cat /sdcard/temp_file-ffe7b76691cb7.gtest_out );echo %$?'
-I 13.154s TimeoutThread-1-for-run_tests_on_device(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 pull /data/local/tmp/temp_file-245ef307a5b32 /tmp/tmpfQ4J96/tmp_ReadFileWithPull
-I 13.167s TimeoutThread-1-for-delete_temporary_file(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell 'rm -f /sdcard/temp_file-ffe7b76691cb7.gtest_out'
-I 13.169s TimeoutThread-1-for-delete_temporary_file(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell 'rm -f /data/user/0/org.chromium.native_test/temp_file-f07c4808dbf8f.xml'
-I 13.170s TimeoutThread-1-for-run_tests_on_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( pm clear org.chromium.native_test );echo %$?'
-I 13.234s TimeoutThread-1-for-delete_temporary_file(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell 'rm -f /data/local/tmp/temp_file-245ef307a5b32'
-I 13.239s TimeoutThread-1-for-run_tests_on_device(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( TZ=utc ls -a -l /storage/emulated/legacy/ );echo %$?'
-I 13.291s TimeoutThread-1-for-run_tests_on_device(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( cat /storage/emulated/legacy/temp_file-f0ceb1a05ea8.gtest_out );echo %$?'
-I 13.341s TimeoutThread-1-for-delete_temporary_file(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell 'rm -f /storage/emulated/legacy/temp_file-f0ceb1a05ea8.gtest_out'
-I 13.343s TimeoutThread-1-for-delete_temporary_file(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell 'rm -f /data/data/org.chromium.native_test/temp_file-5649bb01682da.xml'
-I 13.346s TimeoutThread-1-for-run_tests_on_device(ddfa6149) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s ddfa6149 shell '( pm clear org.chromium.native_test );echo %$?'
-I 13.971s TimeoutThread-1-for-run_tests_on_device(TA99205CNO) Setting permissions for org.chromium.native_test.
-I 13.971s TimeoutThread-1-for-run_tests_on_device(TA99205CNO) [host]> /webrtc/src/third_party/android_sdk/public/platform-tools/adb -s TA99205CNO shell '( pm grant org.chromium.native_test android.permission.CAMERA&&pm grant org.chromium.native_test android.permission.RECORD_AUDIO&&pm grant org.chromium.native_test android.permission.WRITE_EXTERNAL_STORAGE&&pm grant org.chromium.native_test android.permission.READ_EXTERNAL_STORAGE );echo %$?'
-I 14.078s run_tests_on_device(ddfa6149) >>ScopedMainEntryLogger
-I 14.078s run_tests_on_device(ddfa6149) Note: Google Test filter = LowBandwidthAudioTest.Mobile2GNetwork
-I 14.078s run_tests_on_device(ddfa6149) [==========] Running 1 test from 1 test case.
-I 14.078s run_tests_on_device(ddfa6149) [----------] Global test environment set-up.
-I 14.078s run_tests_on_device(ddfa6149) [----------] 1 test from LowBandwidthAudioTest
-I 14.078s run_tests_on_device(ddfa6149) [ RUN ] LowBandwidthAudioTest.Mobile2GNetwork
-I 14.078s run_tests_on_device(ddfa6149) TEST Mobile2GNetwork /sdcard/chromium_tests_root/resources/voice_engine/audio_tiny16.wav /sdcard/chromium_tests_root/LowBandwidth_Mobile2GNetwork.wav
-I 14.078s run_tests_on_device(ddfa6149) [ OK ] LowBandwidthAudioTest.Mobile2GNetwork (6438 ms)
-I 14.078s run_tests_on_device(ddfa6149) [----------] 1 test from LowBandwidthAudioTest (6438 ms total)
-I 14.078s run_tests_on_device(ddfa6149)
-I 14.078s run_tests_on_device(ddfa6149) [----------] Global test environment tear-down
-I 14.079s run_tests_on_device(ddfa6149) [==========] 1 test from 1 test case ran. (6438 ms total)
-I 14.079s run_tests_on_device(ddfa6149) [ PASSED ] 1 test.
-I 14.079s run_tests_on_device(ddfa6149) <<ScopedMainEntryLogger
-I 16.576s run_tests_on_device(TA99205CNO) >>ScopedMainEntryLogger
-I 16.576s run_tests_on_device(TA99205CNO) Note: Google Test filter = LowBandwidthAudioTest.GoodNetworkHighBitrate
-I 16.576s run_tests_on_device(TA99205CNO) [==========] Running 1 test from 1 test case.
-I 16.576s run_tests_on_device(TA99205CNO) [----------] Global test environment set-up.
-I 16.576s run_tests_on_device(TA99205CNO) [----------] 1 test from LowBandwidthAudioTest
-I 16.576s run_tests_on_device(TA99205CNO) [ RUN ] LowBandwidthAudioTest.GoodNetworkHighBitrate
-I 16.576s run_tests_on_device(TA99205CNO) TEST GoodNetworkHighBitrate /sdcard/chromium_tests_root/resources/voice_engine/audio_tiny16.wav /sdcard/chromium_tests_root/LowBandwidth_GoodNetworkHighBitrate.wav
-I 16.576s run_tests_on_device(TA99205CNO) [ OK ] LowBandwidthAudioTest.GoodNetworkHighBitrate (5968 ms)
-I 16.576s run_tests_on_device(TA99205CNO) [----------] 1 test from LowBandwidthAudioTest (5968 ms total)
-I 16.576s run_tests_on_device(TA99205CNO)
-I 16.576s run_tests_on_device(TA99205CNO) [----------] Global test environment tear-down
-I 16.576s run_tests_on_device(TA99205CNO) [==========] 1 test from 1 test case ran. (5968 ms total)
-I 16.577s run_tests_on_device(TA99205CNO) [ PASSED ] 1 test.
-I 16.577s run_tests_on_device(TA99205CNO) <<ScopedMainEntryLogger
-I 14.078s run_tests_on_device(ddfa6149) >>ScopedMainEntryLogger
-I 14.078s run_tests_on_device(ddfa6149) Note: Google Test filter = PCLowBandwidthAudioTest.PCMobile2GNetwork
-I 14.078s run_tests_on_device(ddfa6149) [==========] Running 1 test from 1 test case.
-I 14.078s run_tests_on_device(ddfa6149) [----------] Global test environment set-up.
-I 14.078s run_tests_on_device(ddfa6149) [----------] 1 test from PCLowBandwidthAudioTest
-I 14.078s run_tests_on_device(ddfa6149) [ RUN ] PCLowBandwidthAudioTest.PCMobile2GNetwork
-I 14.078s run_tests_on_device(ddfa6149) TEST PCMobile2GNetwork /sdcard/chromium_tests_root/resources/voice_engine/audio_tiny16.wav /sdcard/chromium_tests_root/PCLowBandwidth_PCMobile2GNetwork.wav /sdcard/chromium_tests_root/PCLowBandwidth_perf_48.json
-I 14.078s run_tests_on_device(ddfa6149) [ OK ] PCLowBandwidthAudioTest.PCMobile2GNetwork (6438 ms)
-I 14.078s run_tests_on_device(ddfa6149) [----------] 1 test from PCLowBandwidthAudioTest (6438 ms total)
-I 14.078s run_tests_on_device(ddfa6149)
-I 14.078s run_tests_on_device(ddfa6149) [----------] Global test environment tear-down
-I 14.079s run_tests_on_device(ddfa6149) [==========] 1 test from 1 test case ran. (6438 ms total)
-I 14.079s run_tests_on_device(ddfa6149) [ PASSED ] 1 test.
-I 14.079s run_tests_on_device(ddfa6149) <<ScopedMainEntryLogger
-I 16.576s run_tests_on_device(TA99205CNO) >>ScopedMainEntryLogger
-I 16.576s run_tests_on_device(TA99205CNO) Note: Google Test filter = PCLowBandwidthAudioTest.PCGoodNetworkHighBitrate
-I 16.576s run_tests_on_device(TA99205CNO) [==========] Running 1 test from 1 test case.
-I 16.576s run_tests_on_device(TA99205CNO) [----------] Global test environment set-up.
-I 16.576s run_tests_on_device(TA99205CNO) [----------] 1 test from PCLowBandwidthAudioTest
-I 16.576s run_tests_on_device(TA99205CNO) [ RUN ] PCLowBandwidthAudioTest.PCGoodNetworkHighBitrate
-I 16.576s run_tests_on_device(TA99205CNO) TEST PCGoodNetworkHighBitrate /sdcard/chromium_tests_root/resources/voice_engine/audio_tiny16.wav /sdcard/chromium_tests_root/PCLowBandwidth_PCGoodNetworkHighBitrate.wav /sdcard/chromium_tests_root/PCLowBandwidth_perf_48.json
-I 16.576s run_tests_on_device(TA99205CNO) [ OK ] PCLowBandwidthAudioTest.PCGoodNetworkHighBitrate (5968 ms)
-I 16.576s run_tests_on_device(TA99205CNO) [----------] 1 test from PCLowBandwidthAudioTest (5968 ms total)
-I 16.576s run_tests_on_device(TA99205CNO)
-I 16.576s run_tests_on_device(TA99205CNO) [----------] Global test environment tear-down
-I 16.576s run_tests_on_device(TA99205CNO) [==========] 1 test from 1 test case ran. (5968 ms total)
-I 16.577s run_tests_on_device(TA99205CNO) [ PASSED ] 1 test.
-I 16.577s run_tests_on_device(TA99205CNO) <<ScopedMainEntryLogger
-I 16.577s run_tests_on_device(TA99205CNO) Finished running tests on this device.
-I 16.577s run_tests_on_device(ddfa6149) Finished running tests on this device.
-I 16.604s Main FINISHED TRY #1/3
-I 16.604s Main All tests completed.
-C 16.604s Main ********************************************************************************
-C 16.604s Main Summary
-C 16.604s Main ********************************************************************************
-C 16.605s Main [==========] 2 tests ran.
-C 16.605s Main [ PASSED ] 2 tests.
-C 16.605s Main ********************************************************************************
-I 16.608s tear_down_device(ddfa6149) Wrote device cache: /webrtc/src/out/debug-android/device_cache_ddea6549.json
-I 16.608s tear_down_device(TA99205CNO) Wrote device cache: /webrtc/src/out/debug-android/device_cache_TA99305CMO.json
-'''
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/infra/specs/gn_isolate_map.pyl b/infra/specs/gn_isolate_map.pyl
index d50b536..508d80d 100644
--- a/infra/specs/gn_isolate_map.pyl
+++ b/infra/specs/gn_isolate_map.pyl
@@ -63,15 +63,6 @@
"label": "//sdk/android:android_instrumentation_test_apk",
"type": "console_test_launcher",
},
- "low_bandwidth_audio_test": {
- "label": "//audio:low_bandwidth_audio_test",
- "type": "console_test_launcher",
- },
- "low_bandwidth_audio_perf_test": {
- "label": "//audio:low_bandwidth_audio_perf_test",
- "type": "script",
- "script": "//audio/test/low_bandwidth_audio_test.py",
- },
"modules_tests": {
"label": "//modules:modules_tests",
"type": "console_test_launcher",
diff --git a/tools_webrtc/coverage/generate_coverage_command.py b/tools_webrtc/coverage/generate_coverage_command.py
index 650513e..d5f4177 100644
--- a/tools_webrtc/coverage/generate_coverage_command.py
+++ b/tools_webrtc/coverage/generate_coverage_command.py
@@ -18,11 +18,10 @@
TESTS = [
'video_capture_tests', 'webrtc_nonparallel_tests', 'video_engine_tests',
- 'tools_unittests', 'test_support_unittests',
- 'system_wrappers_unittests', 'rtc_unittests', 'rtc_stats_unittests',
- 'rtc_pc_unittests', 'rtc_media_unittests', 'peerconnection_unittests',
- 'modules_unittests', 'modules_tests', 'low_bandwidth_audio_test',
- 'common_video_unittests', 'common_audio_unittests',
+ 'tools_unittests', 'test_support_unittests', 'system_wrappers_unittests',
+ 'rtc_unittests', 'rtc_stats_unittests', 'rtc_pc_unittests',
+ 'rtc_media_unittests', 'peerconnection_unittests', 'modules_unittests',
+ 'modules_tests', 'common_video_unittests', 'common_audio_unittests',
'audio_decoder_unittests'
]