Home | History | Annotate | Download | only in android
      1 #!/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 """
     11 Runs tests on Android devices.
     12 
     13 This script exists to avoid WebRTC being broken by changes in the Chrome Android
     14 test execution toolchain. It also conveniently sets the CHECKOUT_SOURCE_ROOT
     15 environment variable.
     16 """
     17 
     18 import os
     19 import sys
     20 
     21 SCRIPT_DIR = os.path.dirname(__file__)
     22 SRC_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, os.pardir, os.pardir,
     23                                         os.pardir))
     24 CHROMIUM_BUILD_ANDROID_DIR = os.path.join(SRC_DIR, 'build', 'android')
     25 sys.path.insert(0, CHROMIUM_BUILD_ANDROID_DIR)
     26 
     27 
     28 import test_runner  # pylint: disable=W0406
     29 from pylib.gtest import gtest_test_instance
     30 
     31 def main():
     32   # Set our own paths to the .isolate files.
     33   # pylint: disable=protected-access
     34   gtest_test_instance._DEFAULT_ISOLATE_FILE_PATHS.update({
     35     'audio_decoder_unittests':
     36         'webrtc/modules/audio_decoder_unittests.isolate',
     37     'common_audio_unittests':
     38         'webrtc/common_audio/common_audio_unittests.isolate',
     39     'common_video_unittests':
     40         'webrtc/common_video/common_video_unittests.isolate',
     41     'libjingle_peerconnection_unittest':
     42         'talk/libjingle_peerconnection_unittest.isolate',
     43     'modules_tests': 'webrtc/modules/modules_tests.isolate',
     44     'modules_unittests': 'webrtc/modules/modules_unittests.isolate',
     45     'rtc_unittests': 'webrtc/rtc_unittests.isolate',
     46     'system_wrappers_unittests':
     47         'webrtc/system_wrappers/system_wrappers_unittests.isolate',
     48     'test_support_unittests': 'webrtc/test/test_support_unittests.isolate',
     49     'tools_unittests': 'webrtc/tools/tools_unittests.isolate',
     50     'video_capture_tests':
     51         'webrtc/modules/video_capture/video_capture_tests.isolate',
     52     'video_engine_tests': 'webrtc/video_engine_tests.isolate',
     53     'voice_engine_unittests':
     54         'webrtc/voice_engine/voice_engine_unittests.isolate',
     55     'webrtc_nonparallel_tests': 'webrtc/webrtc_nonparallel_tests.isolate',
     56     'webrtc_perf_tests': 'webrtc/webrtc_perf_tests.isolate',
     57   })
     58   # Override environment variable to make it possible for the scripts to find
     59   # the root directory (our symlinking of the Chromium build toolchain would
     60   # otherwise make them fail to do so).
     61   os.environ['CHECKOUT_SOURCE_ROOT'] = SRC_DIR
     62   return test_runner.main()
     63 
     64 if __name__ == '__main__':
     65   sys.exit(main())
     66