Add test apex for sdkextensions
Because the tests build for 64-bit but run on 32-bit, this requires adding a variant of derive_sdk that uses prefer32. This apex has an SDK level of 45, which is verified in the test. Also trigger the e2e test on changes to the apex. Bug: 137191822 Bug: 143937446 Test: atest sdkextensions_e2e_test Test: m Change-Id: I88a75b4f438004ed9425e6629666cbbae1ab0882 Merged-In: I88a75b4f438004ed9425e6629666cbbae1ab0882 (cherry picked from commit 0d2e2a076804ac40e78728914e9928c62b76cd99)
This commit is contained in:
@@ -18,13 +18,18 @@ package {
|
||||
|
||||
apex {
|
||||
name: "com.android.sdkext",
|
||||
manifest: "manifest.json",
|
||||
defaults: [ "com.android.sdkext-defaults" ],
|
||||
binaries: [ "derive_sdk" ],
|
||||
prebuilts: [ "cur_sdkinfo" ],
|
||||
manifest: "manifest.json",
|
||||
}
|
||||
|
||||
apex_defaults {
|
||||
name: "com.android.sdkext-defaults",
|
||||
java_libs: [ "framework-sdkextensions" ],
|
||||
prebuilts: [
|
||||
"com.android.sdkext.ldconfig",
|
||||
"cur_sdkinfo",
|
||||
"derive_sdk.rc",
|
||||
"com.android.sdkext.ldconfig",
|
||||
"derive_sdk.rc",
|
||||
],
|
||||
key: "com.android.sdkext.key",
|
||||
certificate: ":com.android.sdkext.certificate",
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
"presubmit": [
|
||||
{
|
||||
"name": "CtsSdkExtTestCases"
|
||||
},
|
||||
{
|
||||
"name": "apiextensions_e2e_tests"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
cc_binary {
|
||||
name: "derive_sdk",
|
||||
cc_defaults {
|
||||
name: "derive_sdk-defaults",
|
||||
srcs: [
|
||||
"derive_sdk.cpp",
|
||||
"sdk.proto",
|
||||
@@ -30,6 +30,24 @@ cc_binary {
|
||||
],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "derive_sdk",
|
||||
defaults: [ "derive_sdk-defaults" ],
|
||||
apex_available: [ "com.android.sdkext" ],
|
||||
visibility: [ "//frameworks/base/apex/sdkextensions" ]
|
||||
}
|
||||
|
||||
// Work around testing using a 64-bit test suite on 32-bit test device by
|
||||
// using a prefer32 version of derive_sdk in testing.
|
||||
cc_binary {
|
||||
name: "derive_sdk_prefer32",
|
||||
defaults: [ "derive_sdk-defaults" ],
|
||||
compile_multilib: "prefer32",
|
||||
stem: "derive_sdk",
|
||||
apex_available: [ "test_com.android.sdkext" ],
|
||||
visibility: [ "//frameworks/base/apex/sdkextensions/testing" ]
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "derive_sdk.rc",
|
||||
src: "derive_sdk.rc",
|
||||
|
||||
@@ -22,7 +22,7 @@ filegroup {
|
||||
"java/**/*.java",
|
||||
],
|
||||
path: "java",
|
||||
visibility: [ "//frameworks/base:__pkg__" ] // For the "global" stubs.
|
||||
visibility: [ "//frameworks/base" ] // For the "global" stubs.
|
||||
}
|
||||
|
||||
java_library {
|
||||
@@ -32,7 +32,10 @@ java_library {
|
||||
libs: [ "framework-annotations-lib" ],
|
||||
permitted_packages: [ "android.os.ext" ],
|
||||
installable: true,
|
||||
visibility: [ "//frameworks/base/apex/sdkextensions:__pkg__" ],
|
||||
visibility: [
|
||||
"//frameworks/base/apex/sdkextensions",
|
||||
"//frameworks/base/apex/sdkextensions/testing",
|
||||
],
|
||||
}
|
||||
|
||||
droidstubs {
|
||||
@@ -65,7 +68,7 @@ java_library {
|
||||
srcs: [":framework-sdkextensions-droidstubs-systemapi"],
|
||||
sdk_version: "system_current",
|
||||
visibility: [
|
||||
"//frameworks/base:__pkg__", // Framework
|
||||
"//frameworks/base/apex/sdkextensions:__pkg__", // sdkextensions SDK
|
||||
"//frameworks/base", // Framework
|
||||
"//frameworks/base/apex/sdkextensions", // sdkextensions SDK
|
||||
]
|
||||
}
|
||||
|
||||
46
apex/sdkextensions/testing/Android.bp
Normal file
46
apex/sdkextensions/testing/Android.bp
Normal file
@@ -0,0 +1,46 @@
|
||||
// Copyright (C) 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.
|
||||
|
||||
apex {
|
||||
name: "test_com.android.sdkext",
|
||||
visibility: [ "//system/apex/tests" ],
|
||||
defaults: ["com.android.sdkext-defaults"],
|
||||
manifest: "test_manifest.json",
|
||||
prebuilts: [ "sdkinfo_45" ],
|
||||
file_contexts: ":com.android.sdkext-file_contexts",
|
||||
installable: false, // Should never be installed on the systemimage
|
||||
multilib: {
|
||||
prefer32: {
|
||||
binaries: ["derive_sdk_prefer32"],
|
||||
},
|
||||
},
|
||||
// The automated test infra ends up building this apex for 64+32-bit and
|
||||
// then installs it on a 32-bit-only device. Work around this weirdness
|
||||
// by preferring 32-bit.
|
||||
compile_multilib: "prefer32",
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "sdkinfo_45_src",
|
||||
out: [ "sdkinfo.binarypb" ],
|
||||
tools: [ "gen_sdkinfo" ],
|
||||
cmd: "$(location) -v 45 -o $(out)",
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "sdkinfo_45",
|
||||
src: ":sdkinfo_45_src",
|
||||
filename: "sdkinfo.binarypb",
|
||||
installable: false,
|
||||
}
|
||||
4
apex/sdkextensions/testing/test_manifest.json
Normal file
4
apex/sdkextensions/testing/test_manifest.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "com.android.sdkext",
|
||||
"version": 2147483647
|
||||
}
|
||||
Reference in New Issue
Block a user