Index: webrtc/examples/androidtests/video_quality_loopback_test.py |
diff --git a/webrtc/examples/androidtests/video_quality_loopback_test.py b/webrtc/examples/androidtests/video_quality_loopback_test.py |
index 5ef85371afdc904a075c9bc8bff004495f255a02..6a48bfa93041d1ec85d1da5a4e25777d8d2b4494 100755 |
--- a/webrtc/examples/androidtests/video_quality_loopback_test.py |
+++ b/webrtc/examples/androidtests/video_quality_loopback_test.py |
@@ -36,6 +36,9 @@ def _RunCommand(argv, cwd=SRC_DIR, **kwargs): |
logging.info('Running %r', argv) |
subprocess.check_call(argv, cwd=cwd, **kwargs) |
+def _Popen(argv, cwd=SRC_DIR): |
+ logging.info('Running %r', argv) |
+ return subprocess.Popen(argv, cwd=cwd) |
def _ParseArgs(): |
parser = argparse.ArgumentParser(description='Start loopback video analysis.') |
@@ -76,10 +79,43 @@ def main(): |
download_script = os.path.join(tools_dir, 'download_tools.py') |
_RunCommand([sys.executable, download_script, toolchain_dir]) |
- # Run the Espresso code. |
- test_script = os.path.join(build_dir_android, |
- 'bin', 'run_AppRTCMobileTestStubbedVideoIO') |
- _RunCommand([sys.executable, test_script]) |
+ |
+ apprtc_process = None |
+ collider_process = None |
+ reverseforwarder_process = None |
+ |
+ try: |
+ # Start AppRTC Server |
+ dev_appserver = os.path.join(SRC_DIR, 'out', 'apprtc', 'google_appengine', |
+ 'dev_appserver.py') |
+ appengine_dir = os.path.join(SRC_DIR, 'out', 'apprtc', 'out', 'app_engine') |
+ apprtc_process = _Popen(['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') |
+ collider_process = _Popen([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') |
+ reverseforwarder_process = _Popen( |
+ [reverseforwarder_path, '9999', '9999', '8089', '8089']) |
+ |
+ # Run the Espresso code. |
+ test_script = os.path.join(build_dir_android, |
+ 'bin', 'run_AppRTCMobileTestStubbedVideoIO') |
+ _RunCommand([sys.executable, test_script]) |
+ finally: |
+ if apprtc_process: |
+ apprtc_process.terminate() |
+ if collider_process: |
+ collider_process.terminate() |
+ if reverseforwarder_process: |
+ reverseforwarder_process.terminate() |
# Pull the output video. |
test_video = os.path.join(temp_dir, 'test_video.y4m') |