1# Copyright (C) 2016 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15'''LLDB-Renderscript test suite configuration file. 16 17This file contains the default test suite config which will be used in the 18case a developer did not supply a custom one.''' 19 20import os 21from tests.harness.decorators import deprecated 22 23 24class Config(object): 25 '''Test suite configuration object. 26 27 The Config class is used by the test suite to abstract the specifics of a 28 user's local setup. This config can be overridden by specifying a custom 29 config on the command line.''' 30 # pylint: disable=no-self-use 31 32 @property 33 def adb_path(self): 34 '''Path to android debug bridge on the host.''' 35 return 'adb' 36 37 @property 38 def host_port(self): 39 '''Specify host port which lldb-server will be forwarded to. 40 41 Specify the starting host port number that lldb-server (on the target) 42 will be forwarded to on the host. Each successive test will increment 43 onwards from this initial port.''' 44 return 1234 45 46 @property 47 def device_port(self): 48 '''Specify the port number that lldb-server (on the device) listens on. 49 50 When lldb-server is spawned on the device it will listen on this port. 51 Each successive test will increment onwards from this port.''' 52 return 1234 53 54 @property 55 def lldb_server_path_device(self): 56 '''Path to the lldb-server executable on the device.''' 57 return '/data/lldb-server' 58 59 @property 60 def lldb_server_path_host(self): 61 '''Path to the lldb-server executable on host (if using -run-emu).''' 62 return 'lldb-server' 63 64 @property 65 def aosp_product_path(self): 66 '''The path to the "out" folder of the AOSP repository.''' 67 return os.getenv('ANDROID_PRODUCT_OUT') 68 69 @property 70 def log_file_path(self): 71 '''The path to the file where the log will be written.''' 72 return os.path.join(os.getcwd(), 'LLDBTestsuiteLog.txt') 73 74 @property 75 def results_file_path(self): 76 '''The path to the file where junit results.xml will be written.''' 77 return os.path.join(os.getcwd(), 'results.xml') 78 79 @property 80 def lldb_path(self): 81 '''The path to lldb executable on the host.''' 82 return 'lldb' 83 84 @property 85 def blocklist(self): 86 '''Provide a test blocklist for skipping specific tests. 87 88 To specify the blocklist from the command line the following can be 89 used: --blocklist test1.py test2.py ...''' 90 return [] 91 92 @property 93 def verbose(self): 94 '''Flag to indicate whether to store extra output in the logs.''' 95 return False 96 97 @property 98 def device(self): 99 '''Specify the device id of the device to run on. 100 101 When multiple devices or emulators are present, a specific device to 102 use while testing can be indicated here.''' 103 return os.environ.get('ANDROID_SERIAL') 104 105 @property 106 def timeout(self): 107 '''Timeout period for a single command, expressed in seconds''' 108 return 60 * 15 109 110 @property 111 @deprecated() 112 def emu_cmd(self): 113 '''The command line for the emulator (if using -run-emu).''' 114 return os.path.join(os.path.dirname(__file__), '..', '..', '..', '..', 115 'prebuilts', 'android-emulator', 'linux-x86_64', 116 'emulator') 117