// Copyright 2019 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. // Set of error prone rules to ensure code quality // PackageLocation check requires the androidCompatible=false otherwise it does not do anything. package { default_applicable_licenses: ["Android-Apache-2.0"], } java_library_host { name: "atest-tradefed-shell", java_resource_dirs: ["res"], } tradefed_binary_host { name: "atest-tradefed", short_name: "ATEST", full_name: "ATest Test Suite", static_libs: ["atest-tradefed-shell"], required: ["atest_tradefed.sh", "atest_script_help.sh"], } // Attributes common to both atest and atest_flag_list_generator. python_defaults { name: "atest_defaults", pkg_path: "atest", srcs: [ "**/*.py", ], exclude_srcs: [ "*_unittest.py", "*/*_unittest.py", "asuite_lib_test/*.py", "proto/*.py", "tf_proto/*.py", ], libs: [ "asuite_proto", "tradefed-protos-py", "py-google-api-python-client", "py-oauth2client", ], data: [ "bazel/resources/**/*", ], } python_binary_host { name: "atest", defaults: ["atest_defaults"], main: "atest_main.py", data: [ ":atest_flag_list_for_completion", ], // Make atest's built name be atest-dev stem: "atest-dev", dist: { targets: ["droidcore"], }, } // A helper binary used to generate the atest_flag_list_for_completion.txt // file, it should never be run outside of the build. It's the same // as atest except it has atest_flag_list_generator.py as it's main python // file. The atest_flag_list_for_completion.txt file is extracted from the // atest binary during autocompletion. python_binary_host { name: "atest_flag_list_generator", defaults: ["atest_defaults"], main: "atest_flag_list_generator.py", } genrule { name: "atest_flag_list_for_completion", out: ["atest_flag_list_for_completion.txt"], tools: ["atest_flag_list_generator"], cmd: "$(location atest_flag_list_generator) > $(out)", } python_library_host { name: "atest_module_info", pkg_path: "atest", srcs: [ "atest_error.py", "atest_decorator.py", "atest_utils.py", "constants.py", "constants_default.py", "module_info.py", ], libs: [ "tradefed-protos-py", ], } python_library_host { name: "asuite_cc_client", pkg_path: "atest", srcs: [ "atest_enum.py", "asuite_metrics.py", "metrics/*.py", "coverage/*.py", ], libs: [ "asuite_proto", "atest_module_info", ], } python_test_host { name: "atest_unittests", main: "atest_run_unittests.py", pkg_path: "atest", srcs: [ "**/*.py", ], test_options: { unit_test: true, }, data: [ "unittest_data/**/*", "unittest_data/**/.*", ], exclude_srcs: [ "asuite_lib_test/*.py", "tools/atest_updatedb_unittest.py", "proto/*.py", "tf_proto/*.py", ], libs: [ "asuite_proto", "pyfakefs", "tradefed-protos-py", ], test_config: "atest_unittests.xml", test_suites: ["general-tests"], } python_test_host { name: "atest_integration_tests", main: "atest_integration_tests.py", pkg_path: "atest", srcs: [ "atest_integration_tests.py", ], data: [ "test_plans/INTEGRATION_TESTS", ], test_config: "atest_integration_tests.xml", test_suites: ["null-suite"], test_options: { unit_test: false, }, } sh_binary_host { name: "atest_tradefed.sh", src: "atest_tradefed.sh", } sh_binary_host { name: "atest_script_help.sh", src: "atest_script_help.sh", }