From 096df7d42a2ad910e496b3c308547ef0a538b0cc Mon Sep 17 00:00:00 2001 From: Karl Shaffer Date: Wed, 5 May 2021 14:52:08 -0400 Subject: Enables two additonal test targets in Bazel env Adds new rules, launchers, and targets that enable the running of the 'HelloWorldTest' and `HelloWorldHostTest` from within the generated Bazel environment. Test: Manual testing, which can be performed with the following steps: bazel run //build/pesto/experiments/prepare_bazel_test_env -- generate bazel run //build/pesto/experiments/prepare_bazel_test_env -- sync bazel test //platform_testing/tests/example/jarhosttest:HelloWorldHostTest --test_output=all --test_arg=--host (The following command requires a connected device) bazel run //platform_testing/tests/example/instrumentation:HelloWorldTests --test_output=all Change-Id: I9414588dfe05f53cd4591185fdb3e7817face0d5 --- .../example/instrumentation/BUILD.bazel.template | 51 ++++++++++++++++++++++ .../tests/example/jarhosttest/BUILD.bazel.template | 51 ++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 experiments/prepare_bazel_test_env/data/templates/platform_testing/tests/example/instrumentation/BUILD.bazel.template create mode 100644 experiments/prepare_bazel_test_env/data/templates/platform_testing/tests/example/jarhosttest/BUILD.bazel.template (limited to 'experiments/prepare_bazel_test_env/data/templates/platform_testing') diff --git a/experiments/prepare_bazel_test_env/data/templates/platform_testing/tests/example/instrumentation/BUILD.bazel.template b/experiments/prepare_bazel_test_env/data/templates/platform_testing/tests/example/instrumentation/BUILD.bazel.template new file mode 100644 index 0000000..f5d0064 --- /dev/null +++ b/experiments/prepare_bazel_test_env/data/templates/platform_testing/tests/example/instrumentation/BUILD.bazel.template @@ -0,0 +1,51 @@ +# Copyright {year}, 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. + +# WARNING: This BUILD file was generated by a tool. +# It should not be manually modified. + +# SOONG_TARGET:HelloWorldTests + +package(default_visibility=["//visibility:public"]) + +load("//build/bazel/rules:android_test.bzl", "android_test") + +_LIB_SRCS = glob([ + "{prebuilts_dir_name}/host/lib/**/*", + "{prebuilts_dir_name}/host/lib64/**/*" +]) +_TESTCASE_DEVICE_SRCS = glob(["{prebuilts_dir_name}/target_testcases/HelloWorldTests/**/*"]) + +_LIB_OUTS = [f.replace("{prebuilts_dir_name}/host/", "") for f in _LIB_SRCS] +_TESTCASE_DEVICE_OUTS = [ + f.replace("{prebuilts_dir_name}/target_testcases/HelloWorldTests/", "device/") + for f in _TESTCASE_DEVICE_SRCS +] + +genrule(name="HelloWorldTests_prebuilt", + srcs=_LIB_SRCS + _TESTCASE_DEVICE_SRCS, + outs=_LIB_OUTS + _TESTCASE_DEVICE_OUTS, + cmd=""" + src_files=($(SRCS)) + out_files=($(OUTS)) + for i in "$${{!src_files[@]}}" + do + src_file=$${{src_files[$$i]}} + out_file=$${{out_files[$$i]}} + mkdir -p $$(dirname $$src_file) + cp $$src_file $$out_file + done + """) + +android_test(name="HelloWorldTests", deps=[":HelloWorldTests_prebuilt"]) \ No newline at end of file diff --git a/experiments/prepare_bazel_test_env/data/templates/platform_testing/tests/example/jarhosttest/BUILD.bazel.template b/experiments/prepare_bazel_test_env/data/templates/platform_testing/tests/example/jarhosttest/BUILD.bazel.template new file mode 100644 index 0000000..c27e0d5 --- /dev/null +++ b/experiments/prepare_bazel_test_env/data/templates/platform_testing/tests/example/jarhosttest/BUILD.bazel.template @@ -0,0 +1,51 @@ +# Copyright {year}, 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. + +# WARNING: This BUILD file was generated by a tool. +# It should not be manually modified. + +# SOONG_TARGET:HelloWorldHostTest + +package(default_visibility=["//visibility:public"]) + +load("//build/bazel/rules:java_test.bzl", "java_test") + +_LIB_SRCS = glob([ + "{prebuilts_dir_name}/host/lib/**/*", + "{prebuilts_dir_name}/host/lib64/**/*" +]) +_TESTCASE_HOST_SRCS = glob(["{prebuilts_dir_name}/host_testcases/HelloWorldHostTest/**/*"]) + +_LIB_OUTS = [f.replace("{prebuilts_dir_name}/host/", "") for f in _LIB_SRCS] +_TESTCASE_HOST_OUTS = [ + f.replace("{prebuilts_dir_name}/host_testcases/HelloWorldHostTest/", "host/") + for f in _TESTCASE_HOST_SRCS +] + +genrule(name="HelloWorldHostTest_prebuilt", + srcs=_LIB_SRCS + _TESTCASE_HOST_SRCS, + outs=_LIB_OUTS + _TESTCASE_HOST_OUTS, + cmd=""" + src_files=($(SRCS)) + out_files=($(OUTS)) + for i in "$${{!src_files[@]}}" + do + src_file=$${{src_files[$$i]}} + out_file=$${{out_files[$$i]}} + mkdir -p $$(dirname $$src_file) + cp $$src_file $$out_file + done + """) + +java_test(name="HelloWorldHostTest", deps=[":HelloWorldHostTest_prebuilt"]) \ No newline at end of file -- cgit v1.2.3