blob: da8c93baa8c5a9bc778ee61ef68bf0ad61e82bd3 [file] [log] [blame]
// Copyright (C) 2018 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.
package {
default_applicable_licenses: ["Android-Apache-2.0"],
default_team: "trendy_team_art_mainline",
}
java_library {
name: "cts-vmtests-dot",
libs: ["junit"],
srcs: ["src/dot/**/*.java"],
installable: false,
include_srcs: true,
host_supported: true,
errorprone: {
javacflags: [
"-Xep:IdentityBinaryExpression:WARN",
"-Xep:BadShiftAmount:WARN",
],
},
}
java_binary_host {
name: "vmtests-buildutil",
static_libs: [
"cts-vmtests-dot",
"junit",
],
srcs: [
"build/src/util/build/BuildCTSHostSources.java",
"build/src/util/build/BuildCTSMainsSources.java",
"build/src/util/build/BuildUtilBase.java",
"build/src/util/build/FileUtil.java",
"build/src/util/build/JUnitTestCollector.java",
],
wrapper: "etc/vmtests-buildutil.sh",
}
java_genrule_host {
name: "vmtests_generated_host_test_sources",
tools: [
"vmtests-buildutil",
"soong_zip",
],
cmd: "$(location vmtests-buildutil) util.build.BuildCTSHostSources $(genDir) " +
" && $(location soong_zip) -jar -o $(out) -C $(genDir) -D $(genDir)/dot",
out: ["vmtests.host.generated.srcjar"],
}
java_library_host {
name: "host-cts-vmtests",
libs: [
"junit",
"tradefed",
],
srcs: [":vmtests_generated_host_test_sources"],
installable: false,
}
java_genrule_host {
name: "vmtests-dfh-dex-generated",
tools: [
"cfassembler",
"soong_zip",
],
tool_files: ["etc/vmtests-cfassembler.sh"],
srcs: ["src/dot/**/*.dfh"],
cmd: "$(location etc/vmtests-cfassembler.sh) $(location cfassembler) $(location soong_zip) $(genDir) $(out) $(in)",
out: ["vmtests_dfh_dex_generated.jar"],
}
java_genrule {
name: "vmtests_generated_mains_test_sources",
tools: [
"vmtests-buildutil",
"soong_zip",
],
cmd: "mkdir $(genDir)/src" +
" && $(location vmtests-buildutil) util.build.BuildCTSMainsSources $(genDir)/src " +
" && $(location soong_zip) -jar -o $(out) -C $(genDir)/src -D $(genDir)/src",
out: ["vmtests.mains.generated.srcjar"],
}
java_library {
name: "vmtests-mains",
installable: true,
libs: ["cts-vmtests-dot"],
srcs: [":vmtests_generated_mains_test_sources"],
}
// TODO: Add vmtests-mains' dex jar to vmtests-generated-resources when
// it can be addressed.
java_library_host {
name: "vmtests-generated-resources",
static_libs: [
"host-cts-vmtests",
"vmtests-dfh-dex-generated",
],
installable: false,
}
java_library_host {
name: "cts-tf-dalvik-buildutil",
srcs: [
"build/src/**/*.java",
"src/**/*.java",
],
libs: [
"junit",
"jsr305",
"d8",
"android-smali",
],
errorprone: {
javacflags: [
"-Xep:IdentityBinaryExpression:WARN",
"-Xep:BadShiftAmount:WARN",
],
},
}
java_genrule_host {
name: "vm-tests-tf-lib",
tools: [
"soong_zip",
"d8",
],
srcs: [
"src/**/*",
":cts-tf-dalvik-buildutil",
":vmtests-generated-resources",
":vmtests-mains",
":cts-vmtests-dot",
":junit",
":d8",
":android-smali",
],
cmd: "echo Generating BuildDalvikSuite tests" +
" && mkdir -p $(genDir)/classes" +
" && unzip -bq $(location :cts-tf-dalvik-buildutil) -d $(genDir)/classes" +
" && mkdir -p $(genDir)/tests" +
" && java" +
" -cp $(location :cts-tf-dalvik-buildutil):$(location :junit):$(location :d8):$(location :android-smali):$(location :cts-vmtests-dot)" +
" util.build.BuildDalvikSuite" +
" cts/tools/vm-tests-tf/src" +
" $(genDir)/tests" +
" $(genDir)/classes" +
" && echo Generating dexcore tests" +
" && $(location soong_zip) -jar -o $(genDir)/tests/dot/junit/dexcore.jar-class.jar" +
" -C $(genDir)/classes" +
" -f $(genDir)/classes/dot/junit/DxUtil.class" +
" -f $(genDir)/classes/dot/junit/DxAbstractMain.class" +
" -f $(genDir)/classes/dot/junit/AssertionFailedException.class" +
" && mkdir -p $(genDir)/dexcore" +
" && $(location d8) -JXms16M -JXmx2048M" +
" --output $(genDir)/dexcore" +
" $(genDir)/tests/dot/junit/dexcore.jar-class.jar" +
" && $(location soong_zip) -jar -o $(genDir)/tests/dot/junit/dexcore.jar" +
" -C $(genDir)/dexcore" +
" -D $(genDir)/dexcore" +
" && echo Combining tests" +
" && mkdir -p $(genDir)/out" +
" && unzip -bq $(location :vmtests-generated-resources) -d $(genDir)/generated-resources" +
" && cp $(location :vmtests-mains) $(genDir)/mains.jar" +
" && $(location soong_zip) -o $(out)" +
" -C $(genDir)/generated-resources" +
" -D $(genDir)/generated-resources" +
" -C $(genDir)" +
" -D $(genDir)/tests" +
" -j -P tests -f $(genDir)/mains.jar",
out: ["vm-tests-tf-lib.jar"],
}
java_test_host {
name: "vm-tests-tf",
static_libs: [
"compatibility-host-vm-targetprep",
"vm-tests-tf-lib",
],
test_config: "AndroidTest.xml",
test_suites: [
"cts",
"general-tests",
],
}