# Copyright 2017 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Configuration file for the benchmark suite.""" from __future__ import print_function import ConfigParser import os from parse_result import parse_Panorama from parse_result import parse_Dex2oat from parse_result import parse_Hwui from parse_result import parse_Skia from parse_result import parse_Synthmark from parse_result import parse_Binder from set_flags import add_flags_Panorama from set_flags import add_flags_Dex2oat from set_flags import add_flags_Hwui from set_flags import add_flags_Skia from set_flags import add_flags_Synthmark from set_flags import add_flags_Binder home = os.environ['HOME'] # Load user configurations for default envrionments env_config = ConfigParser.ConfigParser(allow_no_value=True) env_config.read('env_setting') def get_suite_env(name, path=False): variable = env_config.get('Suite_Environment', name) if variable: if path and not os.path.isdir(variable): raise ValueError('The path of %s does not exist.' % name) return variable else: raise ValueError('Please specify %s in env_setting' % name) # Android source code type: internal or aosp android_type = get_suite_env('android_type') # Android home directory specified as android_home, android_home = get_suite_env('android_home', True) # The benchmark results will be saved in bench_suite_dir. # Please create a directory to store the results, default directory is # android_home/benchtoolchain bench_suite_dir = get_suite_env('bench_suite_dir', True) # Crosperf directory is used to generate crosperf report. toolchain_utils = get_suite_env('toolchain_utils', True) # Please change both product and architecture at same time # Product can be chosen from the lunch list of android building. product_combo = get_suite_env('product_combo') # Arch can be found from out/target/product product = get_suite_env('product') # Benchmarks list is in following variables, you can change it adding new # benchmarks. bench_dict = { 'Panorama': 'packages/apps/LegacyCamera/benchmark/', 'Dex2oat': 'art/compiler/', 'Hwui': 'frameworks/base/libs/hwui/', 'Skia': 'external/skia/', 'Synthmark': 'synthmark/', 'Binder': 'frameworks/native/libs/binder/', } bench_parser_dict = { 'Panorama': parse_Panorama, 'Dex2oat': parse_Dex2oat, 'Hwui': parse_Hwui, 'Skia': parse_Skia, 'Synthmark': parse_Synthmark, 'Binder': parse_Binder, } bench_flags_dict = { 'Panorama': add_flags_Panorama, 'Dex2oat': add_flags_Dex2oat, 'Hwui': add_flags_Hwui, 'Skia': add_flags_Skia, 'Synthmark': add_flags_Synthmark, 'Binder': add_flags_Binder, } bench_list = bench_dict.keys() # Directories used in the benchmark suite autotest_dir = 'external/autotest/' out_dir = os.path.join(android_home, 'out')