Check the contents of an SDK snapshot's generated Android.bp
Test: m nothing Bug: 143678475 Change-Id: I407d83c79d6b1ad8082e560726f0bfa7cacab3f0
This commit is contained in:
@@ -44,6 +44,9 @@ type sdk struct {
|
||||
properties sdkProperties
|
||||
|
||||
snapshotFile android.OptionalPath
|
||||
|
||||
// The builder, preserved for testing.
|
||||
builderForTests *snapshotBuilder
|
||||
}
|
||||
|
||||
type sdkProperties struct {
|
||||
|
@@ -491,9 +491,98 @@ func TestSnapshot(t *testing.T) {
|
||||
}
|
||||
`)
|
||||
|
||||
sdk := ctx.ModuleForTests("mysdk", "android_common").Module().(*sdk)
|
||||
|
||||
checkSnapshotAndroidBpContents(t, sdk, `// This is auto-generated. DO NOT EDIT.
|
||||
|
||||
java_import {
|
||||
name: "mysdk_myjavalib@current",
|
||||
sdk_member_name: "myjavalib",
|
||||
jars: ["java/myjavalib.jar"],
|
||||
}
|
||||
|
||||
java_import {
|
||||
name: "myjavalib",
|
||||
prefer: false,
|
||||
jars: ["java/myjavalib.jar"],
|
||||
}
|
||||
|
||||
prebuilt_stubs_sources {
|
||||
name: "mysdk_myjavaapistubs@current",
|
||||
sdk_member_name: "myjavaapistubs",
|
||||
srcs: ["java/myjavaapistubs_stubs_sources"],
|
||||
}
|
||||
|
||||
prebuilt_stubs_sources {
|
||||
name: "myjavaapistubs",
|
||||
srcs: ["java/myjavaapistubs_stubs_sources"],
|
||||
prefer: false,
|
||||
}
|
||||
|
||||
cc_prebuilt_library_shared {
|
||||
name: "mysdk_mynativelib@current",
|
||||
sdk_member_name: "mynativelib",
|
||||
arch: {
|
||||
arm64: {
|
||||
srcs: ["arm64/lib/mynativelib.so"],
|
||||
export_include_dirs: [
|
||||
"arm64/include/include",
|
||||
"arm64/include_gen/mynativelib",
|
||||
],
|
||||
},
|
||||
arm: {
|
||||
srcs: ["arm/lib/mynativelib.so"],
|
||||
export_include_dirs: [
|
||||
"arm/include/include",
|
||||
"arm/include_gen/mynativelib",
|
||||
],
|
||||
},
|
||||
},
|
||||
stl: "none",
|
||||
system_shared_libs: [],
|
||||
}
|
||||
|
||||
cc_prebuilt_library_shared {
|
||||
name: "mynativelib",
|
||||
prefer: false,
|
||||
arch: {
|
||||
arm64: {
|
||||
srcs: ["arm64/lib/mynativelib.so"],
|
||||
export_include_dirs: [
|
||||
"arm64/include/include",
|
||||
"arm64/include_gen/mynativelib",
|
||||
],
|
||||
},
|
||||
arm: {
|
||||
srcs: ["arm/lib/mynativelib.so"],
|
||||
export_include_dirs: [
|
||||
"arm/include/include",
|
||||
"arm/include_gen/mynativelib",
|
||||
],
|
||||
},
|
||||
},
|
||||
stl: "none",
|
||||
system_shared_libs: [],
|
||||
}
|
||||
|
||||
sdk_snapshot {
|
||||
name: "mysdk@current",
|
||||
java_libs: [
|
||||
"mysdk_myjavalib@current",
|
||||
],
|
||||
stubs_sources: [
|
||||
"mysdk_myjavaapistubs@current",
|
||||
],
|
||||
native_shared_libs: [
|
||||
"mysdk_mynativelib@current",
|
||||
],
|
||||
}
|
||||
|
||||
`)
|
||||
|
||||
var copySrcs []string
|
||||
var copyDests []string
|
||||
buildParams := ctx.ModuleForTests("mysdk", "android_common").Module().BuildParamsForTests()
|
||||
buildParams := sdk.BuildParamsForTests()
|
||||
var zipBp android.BuildParams
|
||||
for _, bp := range buildParams {
|
||||
ruleString := bp.Rule.String()
|
||||
@@ -536,6 +625,14 @@ func TestSnapshot(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func checkSnapshotAndroidBpContents(t *testing.T, s *sdk, expectedContents string) {
|
||||
t.Helper()
|
||||
androidBpContents := strings.NewReplacer("\\n", "\n").Replace(s.GetAndroidBpContentsForTests())
|
||||
if androidBpContents != expectedContents {
|
||||
t.Errorf("Android.bp contents do not match, expected %s, actual %s", expectedContents, androidBpContents)
|
||||
}
|
||||
}
|
||||
|
||||
var buildDir string
|
||||
|
||||
func setUp() {
|
||||
|
@@ -249,6 +249,7 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext) android.OutputPath {
|
||||
filesToZip: []android.Path{bp.path},
|
||||
androidBpFile: bp,
|
||||
}
|
||||
s.builderForTests = builder
|
||||
|
||||
// copy exported AIDL files and stub jar files
|
||||
javaLibs := s.javaLibs(ctx)
|
||||
@@ -350,6 +351,10 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext) android.OutputPath {
|
||||
return outputZipFile
|
||||
}
|
||||
|
||||
func (s *sdk) GetAndroidBpContentsForTests() string {
|
||||
return s.builderForTests.androidBpFile.content.String()
|
||||
}
|
||||
|
||||
func buildSharedNativeLibSnapshot(ctx android.ModuleContext, info *nativeLibInfo, builder android.SnapshotBuilder) {
|
||||
// a function for emitting include dirs
|
||||
printExportedDirCopyCommandsForNativeLibs := func(lib archSpecificNativeLibInfo) {
|
||||
|
Reference in New Issue
Block a user