1 # -*- Python -*- 2 # 3 # Copyright (C) 2012 The Android Open Source Project 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 # 17 18 # 19 ### Configuration file for target side debugger integration tests 20 # 21 # Parameters available through lit --param options: 22 # android_sdk - Path to the android SDK directory 23 # sdk_version - SDK target to pass to 'android' for creating test projects 24 # minimum_sdk - SDK minimum version to embed in AndroidManifest.xml 25 26 # If the user is running an individual tests directory, we have to load 27 # the libbcc site configuration first 28 build_top = getattr(config, 'build_top', None) 29 if build_top is None: 30 lit.load_config(config, os.path.join(os.getenv('ANDROID_BUILD_TOP', 31 '../../../../../'), 'frameworks', 'compile', 'libbcc', 'tests', 32 'debuginfo', 'lit.site.cfg')) 33 build_top = config.build_top 34 35 # Default SDK path and version 36 default_sdk_dir = os.path.join(config.base_build_path, 'sdk', 'android-sdk_' \ 37 + os.getenv('TARGET_BUILD_VARIANT') + '.' \ 38 + os.getenv('USER') + '_linux-x86') 39 default_sdk_version = "android-JellyBean" 40 default_minimum_sdk = "JellyBean" 41 42 # Set up the suite name, extensions that are recognized as testcases, and 43 # the target triple string that must be used in cases marked expected failures 44 config.name = 'target_renderscript_debug' 45 config.suffixes = ['.rs'] 46 config.target_triple = 'target-bcc' 47 48 # Output directory in the android source tree 49 if os.getenv('TARGET_BUILD_TYPE', None) == 'debug': 50 config.test_exec_root = os.path.join(config.build_top, 'out', 'debug', 51 'target', 'tests', 'rsdebug') 52 else: 53 config.test_exec_root = os.path.join(config.build_top, 'out', 'target', 54 'tests', 'rsdebug') 55 56 # 57 ## Set up SDK path and version 58 # 59 config.sdk_dir = lit.params.get('android_sdk', default_sdk_dir) 60 if not os.path.isdir(config.sdk_dir): 61 lit.fatal("Android SDK directory " + config.sdk_dir + " does " \ 62 + "not exist. Check --param android_sdk=<path> lit parameter in test " \ 63 + "suite invocation.") 64 65 config.sdk_version = lit.params.get('sdk_version', default_sdk_version) 66 config.minimum_sdk = lit.params.get('minimum_sdk', default_minimum_sdk) 67 68 # 69 ## Set up environment variables 70 # 71 72 # Propagate ANDROID_PRODUCT_OUT to child environment 73 config.environment['ANDROID_PRODUCT_OUT'] = os.getenv('ANDROID_PRODUCT_OUT') 74 config.environment['ANDROID_BUILD_TOP'] = os.getenv('ANDROID_BUILD_TOP') 75 76 config.environment['DEBUGGER'] = config.gdb 77 config.environment['DEBUGGER_ARGS'] = "-d " + config.gdb_plugin_directory + ' ' 78 79 if not lit.quiet: 80 lit.note('using Android SDK: %r' % config.sdk_dir) 81 lit.note('using Android SDK Version: %r' % config.sdk_version) 82 lit.note('using test apk builder: %r' % config.build_test_apk) 83 lit.note('using GDB plugin directory: %r' % config.gdb_plugin_directory) 84 85 # Apply target-side test macro substitutions 86 config.substitutions.append( ('%build_test_apk_opts', ' --sdk ' + config.sdk_dir \ 87 + ' --target ' + config.sdk_version \ 88 + ' --minsdk ' + config.minimum_sdk)) 89 config.substitutions.append( ('%build_test_apk', ' ' + config.sh \ 90 + ' ' + config.build_test_apk + ' ')) 91