Revert "Don't download PESQ and POLQA in the low_bandwidth_audio_test.py script."
This reverts commit 20196984558b890ee7648d5cc778bc055fdeb5b2.
Reason for revert: Fails on Mac
https://build.chromium.org/p/client.webrtc.perf/builders/Mac%2010.11/builds/4070
Original change's description:
> Don't download PESQ and POLQA in the low_bandwidth_audio_test.py script.
>
> They should've been downloaded already.
>
> NOTRY=True
>
> Bug: chromium:755660
> Change-Id: I8ecb355f06026a38bd9377633e2be6c55d7c6452
> Reviewed-on: https://webrtc-review.googlesource.com/5620
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20109}
TBR=kjellander@webrtc.org,phoglund@webrtc.org,ehmaldonado@webrtc.org,oprypin@webrtc.org
Change-Id: I0cfc1d0b398587a023af528536e7d995c6de1413
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:755660
Reviewed-on: https://webrtc-review.googlesource.com/5940
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20112}
diff --git a/audio/test/low_bandwidth_audio_test.py b/audio/test/low_bandwidth_audio_test.py
index 58fda4a..93da7db 100755
--- a/audio/test/low_bandwidth_audio_test.py
+++ b/audio/test/low_bandwidth_audio_test.py
@@ -27,18 +27,6 @@
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)
@@ -67,20 +55,17 @@
return 'linux'
-def _GetPathToTools():
+def _DownloadTools():
tools_dir = os.path.join(SRC_DIR, 'tools_webrtc')
toolchain_dir = os.path.join(tools_dir, 'audio_quality')
+ # Download PESQ and POLQA.
+ download_script = os.path.join(tools_dir, 'download_tools.py')
+ command = [sys.executable, download_script, toolchain_dir]
+ subprocess.check_call(_LogCommand(command))
+
pesq_path = os.path.join(toolchain_dir, _GetPlatform(), 'pesq')
polqa_path = os.path.join(toolchain_dir, _GetPlatform(), 'PolqaOem64')
-
- if not os.path.isfile(pesq_path) or not os.path.isfile(polqa_path):
- logging.error(NO_TOOLS_ERROR_MESSAGE,
- toolchain_dir,
- os.path.join(tools_dir, 'download_tools.py'),
- toolchain_dir)
- return None, None
-
return pesq_path, polqa_path
@@ -155,8 +140,15 @@
# Analyze audio.
command = [executable_path, '-q', '-LC', 'NB',
'-Ref', reference_file, '-Test', degraded_file]
- process = subprocess.Popen(_LogCommand(command),
- stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ try:
+ process = subprocess.Popen(_LogCommand(command),
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ except OSError as e:
+ if e.errno == os.errno.ENOENT:
+ logging.warning('POLQA executable missing, skipping test.')
+ return {}
+ else:
+ raise
out, err = process.communicate()
# Find the scores in stdout of POLQA.
@@ -184,9 +176,7 @@
args = _ParseArgs()
- pesq_path, polqa_path = _GetPathToTools()
- if pesq_path is None:
- return 1
+ pesq_path, polqa_path = _DownloadTools()
out_dir = os.path.join(args.build_dir, '..')
if args.android: