diff --git a/webrtc/examples/androidtests/video_quality_loopback_test.py b/webrtc/examples/androidtests/video_quality_loopback_test.py index 2500057320..e8c4381f1f 100755 --- a/webrtc/examples/androidtests/video_quality_loopback_test.py +++ b/webrtc/examples/androidtests/video_quality_loopback_test.py @@ -19,7 +19,6 @@ It assumes you have a Android device plugged in. """ import argparse -import atexit import logging import os import shutil @@ -32,13 +31,6 @@ import time SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) SRC_DIR = os.path.normpath(os.path.join(SCRIPT_DIR, os.pardir, os.pardir, os.pardir)) -WEBRTC_DEPS_INSTRUCTIONS = """Please add a solution to your .gclient file like -this and run gclient sync: -{ - "name": "webrtc.DEPS", - "url": "https://chromium.googlesource.com/chromium/deps/webrtc/webrtc.DEPS", -}, -""" class Error(Exception): @@ -62,7 +54,6 @@ def _RunCommandWithOutput(argv, cwd=SRC_DIR, **kwargs): def _RunBackgroundCommand(argv, cwd=SRC_DIR): logging.info('Running %r', argv) process = subprocess.Popen(argv, cwd=cwd) - atexit.register(process.terminate) time.sleep(0.5) status = process.poll() if status: # is not None or 0 @@ -108,8 +99,14 @@ def main(): toolchain_dir = os.path.join(tools_dir, 'video_quality_toolchain') # Download ffmpeg and zxing. - download_script = os.path.join(tools_dir, 'download_tools.py') - _RunCommand([sys.executable, download_script, toolchain_dir]) + download_tools_script = os.path.join(tools_dir, 'download_tools.py') + _RunCommand([sys.executable, download_tools_script, toolchain_dir]) + + testing_tools_dir = os.path.join(SRC_DIR, 'webrtc', 'tools', 'testing') + + # Download, extract and build AppRTC. + setup_apprtc_script = os.path.join(testing_tools_dir, 'setup_apprtc.py') + _RunCommand([sys.executable, setup_apprtc_script, temp_dir]) # Select an Android device in case multiple are connected for line in _RunCommandWithOutput([adb_path, 'devices']).splitlines(): @@ -119,82 +116,88 @@ def main(): else: raise VideoQualityTestError('Cannot find any connected Android device.') - # Start AppRTC Server - dev_appserver = os.path.join(SRC_DIR, 'out', 'apprtc', 'google_appengine', - 'dev_appserver.py') - if not os.path.isfile(dev_appserver): - raise VideoQualityTestError('Cannot find %s.\n%s' % - (dev_appserver, WEBRTC_DEPS_INSTRUCTIONS)) - appengine_dir = os.path.join(SRC_DIR, 'out', 'apprtc', 'out', 'app_engine') - _RunBackgroundCommand(['python', dev_appserver, appengine_dir, - '--port=9999', '--admin_port=9998', - '--skip_sdk_update_check', '--clear_datastore=yes']) + processes = [] + try: + # Start AppRTC Server + dev_appserver = os.path.join(temp_dir, 'apprtc', 'temp', 'google-cloud-sdk', + 'bin', 'dev_appserver.py') + appengine_dir = os.path.join(temp_dir, 'apprtc', 'out', 'app_engine') + processes.append(_RunBackgroundCommand([ + 'python', dev_appserver, appengine_dir, + '--port=9999', '--admin_port=9998', + '--skip_sdk_update_check', '--clear_datastore=yes'])) - # Start Collider - collider_path = os.path.join(SRC_DIR, 'out', 'go-workspace', 'bin', - 'collidermain') - if not os.path.isfile(collider_path): - raise VideoQualityTestError('Cannot find %s.\n%s' % - (collider_path, WEBRTC_DEPS_INSTRUCTIONS)) - _RunBackgroundCommand([collider_path, '-tls=false', - '-port=8089', '-room-server=http://localhost:9999']) + # Start Collider + collider_path = os.path.join(temp_dir, 'collider', 'collidermain') + processes.append(_RunBackgroundCommand([ + collider_path, '-tls=false', '-port=8089', + '-room-server=http://localhost:9999'])) - # Start adb reverse forwarder - reverseforwarder_path = os.path.join( - SRC_DIR, 'build', 'android', 'adb_reverse_forwarder.py') - _RunBackgroundCommand([reverseforwarder_path, '--device', android_device, - '9999', '9999', '8089', '8089']) + # Start adb reverse forwarder + reverseforwarder_path = os.path.join( + SRC_DIR, 'build', 'android', 'adb_reverse_forwarder.py') + processes.append(_RunBackgroundCommand([ + reverseforwarder_path, '--device', android_device, + '9999', '9999', '8089', '8089'])) - # Run the Espresso code. - test_script = os.path.join(build_dir_android, - 'bin', 'run_AppRTCMobileTestStubbedVideoIO') - _RunCommand([test_script, '--device', android_device]) + # Run the Espresso code. + test_script = os.path.join(build_dir_android, + 'bin', 'run_AppRTCMobileTestStubbedVideoIO') + _RunCommand([test_script, '--device', android_device]) - # Pull the output video. - test_video = os.path.join(temp_dir, 'test_video.y4m') - _RunCommand([adb_path, '-s', android_device, - 'pull', '/sdcard/output.y4m', test_video]) + # Pull the output video. + test_video = os.path.join(temp_dir, 'test_video.y4m') + _RunCommand([adb_path, '-s', android_device, + 'pull', '/sdcard/output.y4m', test_video]) - test_video_yuv = os.path.join(temp_dir, 'test_video.yuv') + test_video_yuv = os.path.join(temp_dir, 'test_video.yuv') - ffmpeg_path = os.path.join(toolchain_dir, 'linux', 'ffmpeg') + ffmpeg_path = os.path.join(toolchain_dir, 'linux', 'ffmpeg') - def ConvertVideo(input_video, output_video): - _RunCommand([ffmpeg_path, '-y', '-i', input_video, output_video]) + def ConvertVideo(input_video, output_video): + _RunCommand([ffmpeg_path, '-y', '-i', input_video, output_video]) - ConvertVideo(test_video, test_video_yuv) + ConvertVideo(test_video, test_video_yuv) - reference_video = os.path.join(SRC_DIR, - 'resources', 'reference_video_640x360_30fps.y4m') + reference_video = os.path.join(SRC_DIR, + 'resources', 'reference_video_640x360_30fps.y4m') - reference_video_yuv = os.path.join(temp_dir, - 'reference_video_640x360_30fps.yuv') + reference_video_yuv = os.path.join(temp_dir, + 'reference_video_640x360_30fps.yuv') - ConvertVideo(reference_video, reference_video_yuv) + ConvertVideo(reference_video, reference_video_yuv) - # Run compare script. - compare_script = os.path.join(SRC_DIR, 'webrtc', 'tools', 'compare_videos.py') - zxing_path = os.path.join(toolchain_dir, 'linux', 'zxing') + # Run compare script. + compare_script = os.path.join(SRC_DIR, 'webrtc', 'tools', + 'compare_videos.py') + zxing_path = os.path.join(toolchain_dir, 'linux', 'zxing') - # The frame_analyzer binary should be built for local computer and not for - # Android - frame_analyzer = os.path.join(build_dir_x86, 'frame_analyzer') + # The frame_analyzer binary should be built for local computer and not for + # Android + frame_analyzer = os.path.join(build_dir_x86, 'frame_analyzer') - frame_width = 640 - frame_height = 360 + frame_width = 640 + frame_height = 360 - stats_file_ref = os.path.join(temp_dir, 'stats_ref.txt') - stats_file_test = os.path.join(temp_dir, 'stats_test.txt') + stats_file_ref = os.path.join(temp_dir, 'stats_ref.txt') + stats_file_test = os.path.join(temp_dir, 'stats_test.txt') - _RunCommand([ - sys.executable, compare_script, '--ref_video', reference_video_yuv, - '--test_video', test_video_yuv, '--yuv_frame_width', str(frame_width), - '--yuv_frame_height', str(frame_height), - '--stats_file_ref', stats_file_ref, - '--stats_file_test', stats_file_test, '--frame_analyzer', frame_analyzer, - '--ffmpeg_path', ffmpeg_path, '--zxing_path', zxing_path]) + _RunCommand([ + sys.executable, compare_script, '--ref_video', reference_video_yuv, + '--test_video', test_video_yuv, '--yuv_frame_width', str(frame_width), + '--yuv_frame_height', str(frame_height), + '--stats_file_ref', stats_file_ref, + '--stats_file_test', stats_file_test, + '--frame_analyzer', frame_analyzer, + '--ffmpeg_path', ffmpeg_path, '--zxing_path', zxing_path]) - shutil.rmtree(temp_dir) + finally: + for process in processes: + if process: + process.terminate() + process.wait() + + shutil.rmtree(temp_dir) if __name__ == '__main__': diff --git a/webrtc/tools/testing/README.md b/webrtc/tools/testing/README.md new file mode 100644 index 0000000000..9068b5bfd3 --- /dev/null +++ b/webrtc/tools/testing/README.md @@ -0,0 +1,38 @@ +This directory contains prebuilt tools used during end-to-end tests. +They will be downloaded by their SHA1 hash, and are not meant to be checked in. + +Updating prebuilt_apprtc.zip: + +- Follow AppRTC instructions: + - `git clone https://github.com/webrtc/apprtc` + - Install NodeJS: + - Download and extract it + - `export PATH="$(pwd)/node-v6.10.3-linux-x64/bin:$PATH"` + - `cd apprtc` + - `npm install` + - `export PATH="$(pwd)/node_modules/.bin:$PATH"` + - `pip install --user --upgrade pip setuptools` - needed only on old systems + - `grunt` +- Vendor collider's dependencies: + - `ln -s "$(pwd)/src/collider" src/src` + - `GOPATH="$(pwd)/src" go get -d collidermain` + - `rm src/src` +- Remove unneeded files: + - `rm -rf .git node_modules browsers` +- `zip -r prebuilt_apprtc.zip apprtc/` +- `mv prebuilt_apprtc.zip webrtc/src/webrtc/tools/testing/prebuilt_apprtc.zip` + +Updating golang/*: + +- Go to +- Download these files: + - go*.linux-amd64.tar.gz -> golang/linux/go.tar.gz + - go*.darwin-amd64.tar.gz -> golang/mac/go.tar.gz + - go*.windows-amd64.zip -> golang/windows/go.zip + +After updating the archives: + +- `cd webrtc/src/webrtc/tools/testing` +- For each updated archive: + - `upload_to_google_storage.py file.zip --bucket=chromium-webrtc-resources` +- `git commit -a && git cl upload` diff --git a/webrtc/tools/testing/build_apprtc_collider.py b/webrtc/tools/testing/build_apprtc.py similarity index 67% rename from webrtc/tools/testing/build_apprtc_collider.py rename to webrtc/tools/testing/build_apprtc.py index 5ff09bbeab..a390c94f0e 100755 --- a/webrtc/tools/testing/build_apprtc_collider.py +++ b/webrtc/tools/testing/build_apprtc.py @@ -9,11 +9,11 @@ """Builds the AppRTC collider using the golang toolchain. -The golang toolchain is downloaded by download_golang.py. We use that here +The golang toolchain is downloaded by download_apprtc.py. We use that here to build the AppRTC collider server. This script needs to know the path to the 'src' directory in apprtc, the -root directory of 'go', the root directory of 'hg' and the output_dir. +root directory of 'go' and the output_dir. """ import os @@ -24,35 +24,30 @@ import sys import utils -USAGE_STR = "Usage: {} " +USAGE_STR = "Usage: {} " def main(argv): - if len(argv) != 5: + if len(argv) != 4: return USAGE_STR.format(argv[0]) - apprtc_dir = argv[1] - go_root_dir = argv[2] - mercurial_dir = argv[3] - golang_workspace = argv[4] + apprtc_dir = os.path.abspath(argv[1]) + go_root_dir = os.path.abspath(argv[2]) + golang_workspace = os.path.abspath(argv[3]) utils.RemoveDirectory(golang_workspace) golang_workspace_src = os.path.join(golang_workspace, 'src') collider_dir = os.path.join(apprtc_dir, 'collider') - shutil.copytree(collider_dir, golang_workspace_src, - ignore=shutil.ignore_patterns('.svn', '.git')) + shutil.copytree(collider_dir, golang_workspace_src) golang_binary = 'go%s' % ('.exe' if utils.GetPlatform() == 'win' else '') golang_path = os.path.join(go_root_dir, 'bin', golang_binary) golang_env = os.environ.copy() golang_env['GOROOT'] = go_root_dir - golang_env['GOPATH'] = os.path.abspath(golang_workspace) - golang_env['PATH'] += os.pathsep + mercurial_dir - subprocess.check_call([golang_path, 'get', 'collidermain'], - env=golang_env) + golang_env['GOPATH'] = golang_workspace collider_exec = os.path.join(golang_workspace, 'collidermain') subprocess.check_call([golang_path, 'build', '-o', collider_exec, 'collidermain'], env=golang_env) diff --git a/webrtc/tools/testing/build_mercurial_local.py b/webrtc/tools/testing/build_mercurial_local.py deleted file mode 100755 index 512ca78d3e..0000000000 --- a/webrtc/tools/testing/build_mercurial_local.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python -# 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. - -"""Builds a local mercurial (hg) copy. - -This is used by the go toolchain. -""" - -import os -import subprocess -import sys - -import utils - - -def main(argv): - if len(argv) != 2: - return 'Usage: %s ' % argv[0] - - mercurial_dir = argv[1] - if not os.path.exists(mercurial_dir): - return 'Expected mercurial at {}.'.format(mercurial_dir) - - os.chdir(mercurial_dir) - - if utils.GetPlatform() == 'win': - subprocess.check_call(['python', 'setup.py', '--pure', 'build_py', '-c', - '-d', '.', 'build_ext', - '-i', 'build_mo', '--force']) - with open('hg.bat', 'w') as put_hg_in_path: - # Write a hg.bat since the go toolchain expects to find something called - # 'hg' in the path, but Windows only recognizes executables ending with - # an extension in PATHEXT. Writing hg.bat effectively makes 'hg' callable - # if the mercurial folder is in PATH. - mercurial_path = os.path.abspath('hg') - put_hg_in_path.write('python %s %%*' % mercurial_path) - else: - subprocess.check_call(['make', 'local']) - -if __name__ == '__main__': - sys.exit(main(sys.argv)) diff --git a/webrtc/tools/testing/download_apprtc.py b/webrtc/tools/testing/download_apprtc.py new file mode 100755 index 0000000000..f6db785275 --- /dev/null +++ b/webrtc/tools/testing/download_apprtc.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +# 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. + +"""Downloads prebuilt AppRTC and Go from WebRTC storage and unpacks it. + +Requires that depot_tools is installed and in the PATH. + +It downloads compressed files in the directory where the script lives. +This is because the precondition is that the script lives in the same +directory of the .sha1 files. +""" + +import os +import sys + +import utils + + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def _GetGoArchivePathForPlatform(): + archive_extension = 'zip' if utils.GetPlatform() == 'win' else 'tar.gz' + return os.path.join(utils.GetPlatform(), 'go.%s' % archive_extension) + + +def main(argv): + if len(argv) > 2: + return 'Usage: %s [output_dir]' % argv[0] + + output_dir = os.path.abspath(argv[1]) if len(argv) > 1 else None + + apprtc_zip_path = os.path.join(SCRIPT_DIR, 'prebuilt_apprtc.zip') + if os.path.isfile(apprtc_zip_path + '.sha1'): + utils.DownloadFilesFromGoogleStorage(SCRIPT_DIR, auto_platform=False) + + if output_dir is not None: + utils.RemoveDirectory(os.path.join(output_dir, 'apprtc')) + utils.UnpackArchiveTo(apprtc_zip_path, output_dir) + + golang_path = os.path.join(SCRIPT_DIR, 'golang') + golang_zip_path = os.path.join(golang_path, _GetGoArchivePathForPlatform()) + if os.path.isfile(golang_zip_path + '.sha1'): + utils.DownloadFilesFromGoogleStorage(golang_path) + + if output_dir is not None: + utils.RemoveDirectory(os.path.join(output_dir, 'go')) + utils.UnpackArchiveTo(golang_zip_path, output_dir) + + +if __name__ == '__main__': + sys.exit(main(sys.argv)) diff --git a/webrtc/tools/testing/download_apprtc_appengine_and_mercurial.py b/webrtc/tools/testing/download_apprtc_appengine_and_mercurial.py deleted file mode 100755 index 2d5b620561..0000000000 --- a/webrtc/tools/testing/download_apprtc_appengine_and_mercurial.py +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env python -# 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. - -"""Downloads the appengine SDK from WebRTC storage and unpacks it. - -Requires that depot_tools is installed and in the PATH. - -It downloads compressed files in the directory where the script lives. -This is because the precondition is that the script lives in the same -directory of the .sha1 files. -""" - -import glob -import os -import sys -import subprocess - -import utils - - -SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) - -def _DownloadResources(dir_to_scan_for_sha1): - print 'Downloading files in %s...' % dir_to_scan_for_sha1 - - extension = 'bat' if 'win32' in sys.platform else 'py' - cmd = ['download_from_google_storage.%s' % extension, - '--bucket=chromium-webrtc-resources', - '--directory', dir_to_scan_for_sha1] - subprocess.check_call(cmd) - - -def _StripVersionNumberFromMercurialFolder(output_dir): - unpacked_name = glob.glob(os.path.join(output_dir, 'mercurial*')) - assert len(unpacked_name) == 1, 'Should have precisely one mercurial!' - os.rename(unpacked_name[0], os.path.join(output_dir, 'mercurial')) - - -def main(argv): - if len(argv) == 1: - return 'Usage: %s ' % argv[0] - - output_dir = argv[1] - appengine_zip_path = os.path.join(SCRIPT_DIR, 'google-appengine.zip') - old_appengine_sha1 = utils.ComputeSHA1(appengine_zip_path) - - mercurial_tar_path = os.path.join(SCRIPT_DIR, 'mercurial-src.tar.gz') - old_mercurial_sha1 = utils.ComputeSHA1(mercurial_tar_path) - - apprtc_zip_path = os.path.join(SCRIPT_DIR, 'prebuilt_apprtc.zip') - old_apprtc_sha1 = utils.ComputeSHA1(apprtc_zip_path) - - _DownloadResources(SCRIPT_DIR) - - if old_appengine_sha1 != utils.ComputeSHA1(appengine_zip_path): - utils.RemoveDirectory(os.path.join(output_dir, 'google_appengine')) - utils.UnpackArchiveTo(appengine_zip_path, output_dir) - - if old_mercurial_sha1 != utils.ComputeSHA1(mercurial_tar_path): - utils.RemoveDirectory(os.path.join(output_dir, 'mercurial')) - utils.UnpackArchiveTo(mercurial_tar_path, output_dir) - _StripVersionNumberFromMercurialFolder(output_dir) - - if old_apprtc_sha1 != utils.ComputeSHA1(apprtc_zip_path): - utils.RemoveDirectory(os.path.join(output_dir, 'apprtc')) - utils.UnpackArchiveTo(apprtc_zip_path, output_dir) - -if __name__ == '__main__': - sys.exit(main(sys.argv)) diff --git a/webrtc/tools/testing/download_golang.py b/webrtc/tools/testing/download_golang.py deleted file mode 100755 index a6665bb719..0000000000 --- a/webrtc/tools/testing/download_golang.py +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/env python -# 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. - -"""Downloads the golang SDK from WebRTC storage and unpacks it. - -Requires that depot_tools is installed and in the PATH. - -The precondition is that a directory 'golang' lives in the same directory -as the script. -This 'golang' directory has the following structure: - -/golang - | - |-----/linux/go.tar.gz.sha1 - |-----/win/go.zip.sha1 - |-----/mac/go.tar.gz.sha1 -""" - -import os -import sys - -import utils - - -SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) - - -def _GetGoArchivePathForPlatform(): - archive_extension = 'zip' if utils.GetPlatform() == 'win' else 'tar.gz' - return os.path.join(utils.GetPlatform(), 'go.%s' % archive_extension) - - -def main(argv): - if len(argv) == 1: - return 'Usage: %s ' % argv[0] - - output_dir = os.path.join(argv[1]) - golang_path = os.path.join(SCRIPT_DIR, 'golang') - archive_path = os.path.join(golang_path, _GetGoArchivePathForPlatform()) - old_archive_sha1 = utils.ComputeSHA1(archive_path) - - utils.DownloadFilesFromGoogleStorage(golang_path) - - if (old_archive_sha1 != utils.ComputeSHA1(archive_path) - or not os.path.exists('go')): - utils.RemoveDirectory(os.path.join(output_dir, 'go')) - utils.UnpackArchiveTo(archive_path, output_dir) - - -if __name__ == '__main__': - sys.exit(main(sys.argv)) diff --git a/webrtc/tools/testing/golang/linux/go.tar.gz.sha1 b/webrtc/tools/testing/golang/linux/go.tar.gz.sha1 index f6554894af..aa2509557d 100644 --- a/webrtc/tools/testing/golang/linux/go.tar.gz.sha1 +++ b/webrtc/tools/testing/golang/linux/go.tar.gz.sha1 @@ -1 +1 @@ -14068fbe349db34b838853a7878621bbd2b24646 +a433f76c569055ff8536d796995518dd91a9fa5b \ No newline at end of file diff --git a/webrtc/tools/testing/golang/mac/go.tar.gz.sha1 b/webrtc/tools/testing/golang/mac/go.tar.gz.sha1 index c76e704527..6dbaaf347c 100644 --- a/webrtc/tools/testing/golang/mac/go.tar.gz.sha1 +++ b/webrtc/tools/testing/golang/mac/go.tar.gz.sha1 @@ -1 +1 @@ -be686ec7ba68d588735cc2094ccab8bdd651de9e +aecf5ec9360a004fdbff181269554892743f4bf6 \ No newline at end of file diff --git a/webrtc/tools/testing/golang/win/go.zip.sha1 b/webrtc/tools/testing/golang/win/go.zip.sha1 index a6bcbab4a1..00fae8de9a 100644 --- a/webrtc/tools/testing/golang/win/go.zip.sha1 +++ b/webrtc/tools/testing/golang/win/go.zip.sha1 @@ -1 +1 @@ -ba99083b22e0b22b560bb2d28b9b99b405d01b6b +26bf854fb81f12e9c80a146d8f0081cd22ae9d02 \ No newline at end of file diff --git a/webrtc/tools/testing/google-appengine.zip.sha1 b/webrtc/tools/testing/google-appengine.zip.sha1 deleted file mode 100644 index cf13e4c6c8..0000000000 --- a/webrtc/tools/testing/google-appengine.zip.sha1 +++ /dev/null @@ -1 +0,0 @@ -827468f89c78f292c28ceac50e6109c8d649fa61 diff --git a/webrtc/tools/testing/mercurial-src.tar.gz.sha1 b/webrtc/tools/testing/mercurial-src.tar.gz.sha1 deleted file mode 100644 index 5ef3e9d738..0000000000 --- a/webrtc/tools/testing/mercurial-src.tar.gz.sha1 +++ /dev/null @@ -1 +0,0 @@ -a8a51aa412abd5155c7de29fd39c9774decb4d3f \ No newline at end of file diff --git a/webrtc/tools/testing/prebuilt_apprtc.zip.sha1 b/webrtc/tools/testing/prebuilt_apprtc.zip.sha1 index 7e2833ef3d..95b41c7158 100644 --- a/webrtc/tools/testing/prebuilt_apprtc.zip.sha1 +++ b/webrtc/tools/testing/prebuilt_apprtc.zip.sha1 @@ -1 +1 @@ -6a96fc234cfa92ffaa79b0aeb5f4bdc1f31c6340 \ No newline at end of file +d8d95f55129e0c1a4e0f5d0d3acbf7163395354c \ No newline at end of file diff --git a/webrtc/tools/testing/setup_apprtc.py b/webrtc/tools/testing/setup_apprtc.py old mode 100644 new mode 100755 index 801da73ae0..697d5031d8 --- a/webrtc/tools/testing/setup_apprtc.py +++ b/webrtc/tools/testing/setup_apprtc.py @@ -22,30 +22,22 @@ import utils SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) + def main(argv): if len(argv) == 1: return 'Usage %s ' % argv[0] - output_dir = argv[1] - apprtc_appengine_mercurial_path = os.path.join( - SCRIPT_DIR, 'download_apprtc_appengine_and_mercurial.py') - utils.RunSubprocessWithRetry([apprtc_appengine_mercurial_path, - output_dir]) + output_dir = os.path.abspath(argv[1]) - download_golang_path = os.path.join(SCRIPT_DIR, 'download_golang.py') - utils.RunSubprocessWithRetry([download_golang_path, output_dir]) + download_apprtc_path = os.path.join(SCRIPT_DIR, 'download_apprtc.py') + utils.RunSubprocessWithRetry([download_apprtc_path, output_dir]) - build_mercurial_path = os.path.join(SCRIPT_DIR, 'build_mercurial_local.py') - hg_dir = os.path.join(output_dir, 'mercurial') - utils.RunSubprocessWithRetry([build_mercurial_path, hg_dir]) - - build_apprtc_collider_path = os.path.join(SCRIPT_DIR, - 'build_apprtc_collider.py') + build_apprtc_path = os.path.join(SCRIPT_DIR, 'build_apprtc.py') apprtc_src_dir = os.path.join(output_dir, 'apprtc', 'src') go_dir = os.path.join(output_dir, 'go') collider_dir = os.path.join(output_dir, 'collider') - utils.RunSubprocessWithRetry([build_apprtc_collider_path, apprtc_src_dir, - go_dir, hg_dir, collider_dir]) + utils.RunSubprocessWithRetry([build_apprtc_path, apprtc_src_dir, + go_dir, collider_dir]) if __name__ == '__main__': diff --git a/webrtc/tools/testing/utils.py b/webrtc/tools/testing/utils.py index 7e38b42a71..3b82fc8867 100755 --- a/webrtc/tools/testing/utils.py +++ b/webrtc/tools/testing/utils.py @@ -9,7 +9,6 @@ """Utilities for all our deps-management stuff.""" -import hashlib import os import shutil import sys @@ -34,32 +33,18 @@ def RunSubprocessWithRetry(cmd): raise exception -def DownloadFilesFromGoogleStorage(path): +def DownloadFilesFromGoogleStorage(path, auto_platform=True): print 'Downloading files in %s...' % path extension = 'bat' if 'win32' in sys.platform else 'py' cmd = ['download_from_google_storage.%s' % extension, '--bucket=chromium-webrtc-resources', - '--auto_platform', - '--recursive', '--directory', path] + if auto_platform: + cmd += ['--auto_platform', '--recursive'] subprocess.check_call(cmd) -def ComputeSHA1(path): - if not os.path.exists(path): - return 0 - - sha1 = hashlib.sha1() - file_to_hash = open(path, 'rb') - try: - sha1.update(file_to_hash.read()) - finally: - file_to_hash.close() - - return sha1.hexdigest() - - # Code partially copied from # https://cs.chromium.org#chromium/build/scripts/common/chromium_utils.py def RemoveDirectory(*path):