diff options
| author | satayev <satayev@google.com> | 2021-06-23 20:24:59 +0000 |
|---|---|---|
| committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-06-23 20:24:59 +0000 |
| commit | 09a45d755fe8d294366fffd33ecef09d4036f8dc (patch) | |
| tree | ad70a8449f9b7dd1432dbc66d7b8ed9637a22cb2 /apex/apex_test.go | |
| parent | a063a7946c3ecaa8092acacae884145ebdbcb069 (diff) | |
| parent | 125bba00cfb460ddf5f2c8dc1042082045999bce (diff) | |
Merge "VNDK APEX: skips VNDK-Ext" am: 17c4507dec am: 125bba00cf
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1744554
Change-Id: Ic32f9b3df65b747e5126a50d65b472f4fe3df9df
Diffstat (limited to 'apex/apex_test.go')
| -rw-r--r-- | apex/apex_test.go | 143 |
1 files changed, 96 insertions, 47 deletions
diff --git a/apex/apex_test.go b/apex/apex_test.go index 55a115c50..3f16cd302 100644 --- a/apex/apex_test.go +++ b/apex/apex_test.go @@ -3218,60 +3218,109 @@ func ensureExactContents(t *testing.T, ctx *android.TestContext, moduleName, var } func TestVndkApexCurrent(t *testing.T) { - ctx := testApex(t, ` - apex_vndk { - name: "com.android.vndk.current", - key: "com.android.vndk.current.key", - updatable: false, - } - - apex_key { - name: "com.android.vndk.current.key", - public_key: "testkey.avbpubkey", - private_key: "testkey.pem", - } - - cc_library { - name: "libvndk", - srcs: ["mylib.cpp"], - vendor_available: true, - product_available: true, - vndk: { - enabled: true, - }, - system_shared_libs: [], - stl: "none", - apex_available: [ "com.android.vndk.current" ], - } - - cc_library { - name: "libvndksp", - srcs: ["mylib.cpp"], - vendor_available: true, - product_available: true, - vndk: { - enabled: true, - support_system_process: true, - }, - system_shared_libs: [], - stl: "none", - apex_available: [ "com.android.vndk.current" ], - } - `+vndkLibrariesTxtFiles("current")) - - ensureExactContents(t, ctx, "com.android.vndk.current", "android_common_image", []string{ - "lib/libvndk.so", - "lib/libvndksp.so", + commonFiles := []string{ "lib/libc++.so", - "lib64/libvndk.so", - "lib64/libvndksp.so", "lib64/libc++.so", "etc/llndk.libraries.29.txt", "etc/vndkcore.libraries.29.txt", "etc/vndksp.libraries.29.txt", "etc/vndkprivate.libraries.29.txt", "etc/vndkproduct.libraries.29.txt", - }) + } + testCases := []struct { + vndkVersion string + expectedFiles []string + }{ + { + vndkVersion: "current", + expectedFiles: append(commonFiles, + "lib/libvndk.so", + "lib/libvndksp.so", + "lib64/libvndk.so", + "lib64/libvndksp.so"), + }, + { + vndkVersion: "", + expectedFiles: append(commonFiles, + // Legacy VNDK APEX contains only VNDK-SP files (of core variant) + "lib/libvndksp.so", + "lib64/libvndksp.so"), + }, + } + for _, tc := range testCases { + t.Run("VNDK.current with DeviceVndkVersion="+tc.vndkVersion, func(t *testing.T) { + ctx := testApex(t, ` + apex_vndk { + name: "com.android.vndk.current", + key: "com.android.vndk.current.key", + updatable: false, + } + + apex_key { + name: "com.android.vndk.current.key", + public_key: "testkey.avbpubkey", + private_key: "testkey.pem", + } + + cc_library { + name: "libvndk", + srcs: ["mylib.cpp"], + vendor_available: true, + product_available: true, + vndk: { + enabled: true, + }, + system_shared_libs: [], + stl: "none", + apex_available: [ "com.android.vndk.current" ], + } + + cc_library { + name: "libvndksp", + srcs: ["mylib.cpp"], + vendor_available: true, + product_available: true, + vndk: { + enabled: true, + support_system_process: true, + }, + system_shared_libs: [], + stl: "none", + apex_available: [ "com.android.vndk.current" ], + } + + // VNDK-Ext should not cause any problems + + cc_library { + name: "libvndk.ext", + srcs: ["mylib2.cpp"], + vendor: true, + vndk: { + enabled: true, + extends: "libvndk", + }, + system_shared_libs: [], + stl: "none", + } + + cc_library { + name: "libvndksp.ext", + srcs: ["mylib2.cpp"], + vendor: true, + vndk: { + enabled: true, + support_system_process: true, + extends: "libvndksp", + }, + system_shared_libs: [], + stl: "none", + } + `+vndkLibrariesTxtFiles("current"), android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { + variables.DeviceVndkVersion = proptools.StringPtr(tc.vndkVersion) + })) + ensureExactContents(t, ctx, "com.android.vndk.current", "android_common_image", tc.expectedFiles) + }) + } } func TestVndkApexWithPrebuilt(t *testing.T) { |
