blob: fd8ca2fc0792032630f11358204d8917cb3eea16 [file] [log] [blame]
#!/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())