blob: 77b5d8ed016c3c44761e2693fabda144e8cdd5e8 [file] [log] [blame]
//
// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Rules to generate setup script for device perf tests
// Different devices may share the same script. To add a new script, define a
// new variable named <device name>_script, pointing at the script in current
// source folder.
// At execution time, scripts will be pushed onto device and run with root
// identity.
// Only define the target if a perf setup script is defined by the BoardConfig
// of the device we are building.
//
// To add a new script:
// 1. add a new setup script suitable for the device at:
// platform_testing/scripts/perf-setup/
// 2. modify BoardConfig.mk of the corresponding device under:
// device/<OEM name>/<device name/
// 3. add variable "BOARD_PERFSETUP_SCRIPT", and point it at the path to the new
// perf setup script; the path should be relative to the build root
// 4. add below soong config setting below the line added on step 3:
// $(call soong_config_set,perf,board_perfsetup_script,$(notdir $(BOARD_PERFSETUP_SCRIPT)))
package {
// See: http://go/android-license-faq
default_applicable_licenses: [
"Android-Apache-2.0",
],
default_team: "trendy_team_performance",
}
soong_config_module_type {
name: "perf_script_filegroup",
module_type: "filegroup",
config_namespace: "perf",
value_variables: [
"board_perfsetup_script",
],
properties: [
"srcs",
],
}
perf_script_filegroup {
name: "perf-setup-script",
soong_config_variables: {
board_perfsetup_script: {
srcs: ["%s"],
conditions_default: {
srcs: ["empty-setup.sh"],
},
},
},
}
sh_test {
name: "perf-setup",
src: ":perf-setup-script",
filename: "perf-setup.sh",
test_suites: [
"device-tests",
"device-pixel-tests",
],
auto_gen_config: false,
product_variables: {
debuggable: {
required: [
"perf-setup-sh",
],
},
},
}
sh_binary {
name: "perf-setup-sh",
src: ":perf-setup-script",
filename: "perf-setup.sh",
soc_specific: true,
}