diff options
author | Paul Duffin <paulduffin@google.com> | 2019-11-26 18:02:20 +0000 |
---|---|---|
committer | Paul Duffin <paulduffin@google.com> | 2019-11-26 22:30:19 +0000 |
commit | ac37c503e05fa4d99a97bac4cf97a65dc8406795 (patch) | |
tree | e9cbde71a06a6f8f2db3194635c8c3006f7175b4 /sdk | |
parent | 0375dd9a377fcfa869ebbf2761341f5712a16c6b (diff) | |
download | build_soong-ac37c503e05fa4d99a97bac4cf97a65dc8406795.tar.gz build_soong-ac37c503e05fa4d99a97bac4cf97a65dc8406795.tar.bz2 build_soong-ac37c503e05fa4d99a97bac4cf97a65dc8406795.zip |
Check the contents of an SDK snapshot's generated Android.bp
Test: m nothing
Bug: 143678475
Change-Id: I407d83c79d6b1ad8082e560726f0bfa7cacab3f0
Diffstat (limited to 'sdk')
-rw-r--r-- | sdk/sdk.go | 3 | ||||
-rw-r--r-- | sdk/sdk_test.go | 99 | ||||
-rw-r--r-- | sdk/update.go | 5 |
3 files changed, 106 insertions, 1 deletions
@@ -44,6 +44,9 @@ type sdk struct { properties sdkProperties snapshotFile android.OptionalPath + + // The builder, preserved for testing. + builderForTests *snapshotBuilder } type sdkProperties struct { diff --git a/sdk/sdk_test.go b/sdk/sdk_test.go index b40ec130..a4f54ef3 100644 --- a/sdk/sdk_test.go +++ b/sdk/sdk_test.go @@ -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() { diff --git a/sdk/update.go b/sdk/update.go index 6d7b3ecb..e45bd49a 100644 --- a/sdk/update.go +++ b/sdk/update.go @@ -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) { |