blob: c5aa9a1ddc5a737154a4d2c3851ae470175eca48 [file] [log] [blame]
kjellander@webrtc.orgc3e097c2014-12-03 09:57:08 +00001#!/usr/bin/env python
2# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3#
4# Use of this source code is governed by a BSD-style license
5# that can be found in the LICENSE file in the root of the source
6# tree. An additional intellectual property rights grant can be found
7# in the file PATENTS. All contributing project authors may
8# be found in the AUTHORS file in the root of the source tree.
9
10"""
11Runs tests on Android devices.
12
13This script exists to avoid WebRTC being broken by changes in the Chrome Android
kjellander@webrtc.org7ba9f272014-12-09 06:46:13 +000014test execution toolchain. It also conveniently sets the CHECKOUT_SOURCE_ROOT
15environment variable.
kjellander@webrtc.orgc3e097c2014-12-03 09:57:08 +000016"""
17
18import os
19import sys
20
kjellander@webrtc.org7ba9f272014-12-09 06:46:13 +000021SCRIPT_DIR = os.path.dirname(__file__)
22SRC_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, os.pardir, os.pardir,
23 os.pardir))
24CHROMIUM_BUILD_ANDROID_DIR = os.path.join(SRC_DIR, 'build', 'android')
kjellander@webrtc.orgc3e097c2014-12-03 09:57:08 +000025sys.path.insert(0, CHROMIUM_BUILD_ANDROID_DIR)
26
27
28import test_runner
29from pylib.gtest import gtest_config
kjellander@webrtc.org626c09f2014-12-11 11:59:46 +000030from pylib.gtest import setup
kjellander@webrtc.orgc3e097c2014-12-03 09:57:08 +000031
32def main():
33 # Override the stable test suites with the WebRTC tests.
34 gtest_config.STABLE_TEST_SUITES = [
35 'audio_decoder_unittests',
36 'common_audio_unittests',
37 'common_video_unittests',
38 'modules_tests',
39 'modules_unittests',
40 'system_wrappers_unittests',
41 'test_support_unittests',
42 'tools_unittests',
43 'video_capture_tests',
44 'video_engine_tests',
45 'video_engine_core_unittests',
46 'voice_engine_unittests',
47 'webrtc_perf_tests',
48 ]
kjellander@webrtc.org626c09f2014-12-11 11:59:46 +000049 gtest_config.EXPERIMENTAL_TEST_SUITES = []
50
51 # Set our own paths to the .isolate files.
52 setup.ISOLATE_FILE_PATHS = {
53 'audio_decoder_unittests':
54 'webrtc/modules/audio_coding/neteq/audio_decoder_unittests.isolate',
55 'common_audio_unittests':
56 'webrtc/common_audio/common_audio_unittests.isolate',
57 'common_video_unittests':
58 'webrtc/common_video/common_video_unittests.isolate',
59 'modules_tests': 'webrtc/modules/modules_tests.isolate',
60 'modules_unittests': 'webrtc/modules/modules_unittests.isolate',
61 'system_wrappers_unittests':
andresp@webrtc.org86e1e482015-01-14 09:30:52 +000062 'webrtc/system_wrappers/system_wrappers_unittests.isolate',
kjellander@webrtc.org626c09f2014-12-11 11:59:46 +000063 'test_support_unittests': 'webrtc/test/test_support_unittests.isolate',
64 'tools_unittests': 'webrtc/tools/tools_unittests.isolate',
65 'video_capture_tests':
66 'webrtc/modules/video_capture/video_capture_tests.isolate',
67 'video_engine_tests': 'webrtc/video_engine_tests.isolate',
68 'video_engine_core_unittests':
69 'webrtc/video_engine/video_engine_core_unittests.isolate',
70 'voice_engine_unittests':
71 'webrtc/voice_engine/voice_engine_unittests.isolate',
72 'webrtc_perf_tests': 'webrtc/webrtc_perf_tests.isolate',
73 }
74 # Override environment variable to make it possible for the scripts to find
75 # the root directory (our symlinking of the Chromium build toolchain would
76 # otherwise make them fail to do so).
kjellander@webrtc.org7ba9f272014-12-09 06:46:13 +000077 os.environ['CHECKOUT_SOURCE_ROOT'] = SRC_DIR
kjellander@webrtc.orgc3e097c2014-12-03 09:57:08 +000078 return test_runner.main()
79
80if __name__ == '__main__':
81 sys.exit(main())