#!/usr/bin/env python # Copyright (c) 2014 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. """ Runs tests on Android devices. This script exists to avoid WebRTC being broken by changes in the Chrome Android test execution toolchain. It also conveniently sets the CHECKOUT_SOURCE_ROOT environment variable. """ import os import sys SCRIPT_DIR = os.path.dirname(__file__) SRC_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, os.pardir, os.pardir, os.pardir)) CHROMIUM_BUILD_ANDROID_DIR = os.path.join(SRC_DIR, 'build', 'android') sys.path.insert(0, CHROMIUM_BUILD_ANDROID_DIR) import test_runner # pylint: disable=W0406 from pylib.gtest import gtest_test_instance def main(): # Set our own paths to the .isolate files. # pylint: disable=protected-access gtest_test_instance._DEFAULT_ISOLATE_FILE_PATHS.update({ 'audio_decoder_unittests': 'webrtc/modules/audio_decoder_unittests.isolate', 'common_audio_unittests': 'webrtc/common_audio/common_audio_unittests.isolate', 'common_video_unittests': 'webrtc/common_video/common_video_unittests.isolate', 'peerconnection_unittests': 'webrtc/api/peerconnection_unittests.isolate', 'modules_tests': 'webrtc/modules/modules_tests.isolate', 'modules_unittests': 'webrtc/modules/modules_unittests.isolate', 'rtc_unittests': 'webrtc/rtc_unittests.isolate', 'system_wrappers_unittests': 'webrtc/system_wrappers/system_wrappers_unittests.isolate', 'test_support_unittests': 'webrtc/test/test_support_unittests.isolate', 'tools_unittests': 'webrtc/tools/tools_unittests.isolate', 'video_capture_tests': 'webrtc/modules/video_capture/video_capture_tests.isolate', 'video_engine_tests': 'webrtc/video_engine_tests.isolate', 'voice_engine_unittests': 'webrtc/voice_engine/voice_engine_unittests.isolate', 'webrtc_nonparallel_tests': 'webrtc/webrtc_nonparallel_tests.isolate', 'webrtc_perf_tests': 'webrtc/webrtc_perf_tests.isolate', }) # Override environment variable to make it possible for the scripts to find # the root directory (our symlinking of the Chromium build toolchain would # otherwise make them fail to do so). os.environ['CHECKOUT_SOURCE_ROOT'] = SRC_DIR return test_runner.main() if __name__ == '__main__': sys.exit(main())