summaryrefslogtreecommitdiff
path: root/sdk/cc_sdk_test.go
diff options
context:
space:
mode:
author Paul Duffin <paulduffin@google.com> 2020-03-13 14:21:48 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2020-03-13 14:21:48 +0000
commit9c37340492ac4fc41c7023ad2acde98ffe892847 (patch)
tree142149e4368e1a171a2a990bca5d93ced8d9e5b8 /sdk/cc_sdk_test.go
parent0a4c18e83760cd35b184749ac914d1bd9c7e412c (diff)
parent13f027147838fd099ffde698a0b24819337b9c88 (diff)
Merge "Copy shared_libs and system_shared_libs to module snapshot"
Diffstat (limited to 'sdk/cc_sdk_test.go')
-rw-r--r--sdk/cc_sdk_test.go203
1 files changed, 183 insertions, 20 deletions
diff --git a/sdk/cc_sdk_test.go b/sdk/cc_sdk_test.go
index 2b0fd3c93..0f84c4ce9 100644
--- a/sdk/cc_sdk_test.go
+++ b/sdk/cc_sdk_test.go
@@ -309,7 +309,6 @@ cc_prebuilt_library_shared {
},
},
stl: "none",
- system_shared_libs: [],
}
cc_prebuilt_library_shared {
@@ -326,7 +325,6 @@ cc_prebuilt_library_shared {
},
},
stl: "none",
- system_shared_libs: [],
}
sdk_snapshot {
@@ -555,7 +553,6 @@ cc_prebuilt_library_shared {
},
},
stl: "none",
- system_shared_libs: [],
}
cc_prebuilt_library_shared {
@@ -577,7 +574,6 @@ cc_prebuilt_library_shared {
},
},
stl: "none",
- system_shared_libs: [],
}
sdk_snapshot {
@@ -599,6 +595,189 @@ include/Test.h -> include/include/Test.h
)
}
+func TestSnapshotWithCcSharedLibrarySharedLibs(t *testing.T) {
+ result := testSdkWithCc(t, `
+ sdk {
+ name: "mysdk",
+ native_shared_libs: [
+ "mynativelib",
+ "myothernativelib",
+ "mysystemnativelib",
+ ],
+ }
+
+ cc_library {
+ name: "mysystemnativelib",
+ srcs: [
+ "Test.cpp",
+ ],
+ system_shared_libs: [],
+ stl: "none",
+ }
+
+ cc_library_shared {
+ name: "myothernativelib",
+ srcs: [
+ "Test.cpp",
+ ],
+ system_shared_libs: [
+ // A reference to a library that is not an sdk member. Uses libm as that
+ // is in the default set of modules available to this test and so is available
+ // both here and also when the generated Android.bp file is tested in
+ // CheckSnapshot(). This ensures that the system_shared_libs property correctly
+ // handles references to modules that are not sdk members.
+ "libm",
+ ],
+ stl: "none",
+ }
+
+ cc_library {
+ name: "mynativelib",
+ srcs: [
+ "Test.cpp",
+ ],
+ shared_libs: [
+ // A reference to another sdk member.
+ "myothernativelib",
+ ],
+ target: {
+ android: {
+ shared: {
+ shared_libs: [
+ // A reference to a library that is not an sdk member. The libc library
+ // is used here to check that the shared_libs property is handled correctly
+ // in a similar way to how libm is used to check system_shared_libs above.
+ "libc",
+ ],
+ },
+ },
+ },
+ system_shared_libs: [],
+ stl: "none",
+ }
+ `)
+
+ result.CheckSnapshot("mysdk", "",
+ checkAndroidBpContents(`
+// This is auto-generated. DO NOT EDIT.
+
+cc_prebuilt_library_shared {
+ name: "mysdk_mynativelib@current",
+ sdk_member_name: "mynativelib",
+ installable: false,
+ shared_libs: [
+ "mysdk_myothernativelib@current",
+ "libc",
+ ],
+ arch: {
+ arm64: {
+ srcs: ["arm64/lib/mynativelib.so"],
+ },
+ arm: {
+ srcs: ["arm/lib/mynativelib.so"],
+ },
+ },
+ stl: "none",
+}
+
+cc_prebuilt_library_shared {
+ name: "mynativelib",
+ prefer: false,
+ shared_libs: [
+ "myothernativelib",
+ "libc",
+ ],
+ arch: {
+ arm64: {
+ srcs: ["arm64/lib/mynativelib.so"],
+ },
+ arm: {
+ srcs: ["arm/lib/mynativelib.so"],
+ },
+ },
+ stl: "none",
+}
+
+cc_prebuilt_library_shared {
+ name: "mysdk_myothernativelib@current",
+ sdk_member_name: "myothernativelib",
+ installable: false,
+ system_shared_libs: ["libm"],
+ arch: {
+ arm64: {
+ srcs: ["arm64/lib/myothernativelib.so"],
+ },
+ arm: {
+ srcs: ["arm/lib/myothernativelib.so"],
+ },
+ },
+ stl: "none",
+}
+
+cc_prebuilt_library_shared {
+ name: "myothernativelib",
+ prefer: false,
+ system_shared_libs: ["libm"],
+ arch: {
+ arm64: {
+ srcs: ["arm64/lib/myothernativelib.so"],
+ },
+ arm: {
+ srcs: ["arm/lib/myothernativelib.so"],
+ },
+ },
+ stl: "none",
+}
+
+cc_prebuilt_library_shared {
+ name: "mysdk_mysystemnativelib@current",
+ sdk_member_name: "mysystemnativelib",
+ installable: false,
+ arch: {
+ arm64: {
+ srcs: ["arm64/lib/mysystemnativelib.so"],
+ },
+ arm: {
+ srcs: ["arm/lib/mysystemnativelib.so"],
+ },
+ },
+ stl: "none",
+}
+
+cc_prebuilt_library_shared {
+ name: "mysystemnativelib",
+ prefer: false,
+ arch: {
+ arm64: {
+ srcs: ["arm64/lib/mysystemnativelib.so"],
+ },
+ arm: {
+ srcs: ["arm/lib/mysystemnativelib.so"],
+ },
+ },
+ stl: "none",
+}
+
+sdk_snapshot {
+ name: "mysdk@current",
+ native_shared_libs: [
+ "mysdk_mynativelib@current",
+ "mysdk_myothernativelib@current",
+ "mysdk_mysystemnativelib@current",
+ ],
+}
+`),
+ checkAllCopyRules(`
+.intermediates/mynativelib/android_arm64_armv8-a_shared/mynativelib.so -> arm64/lib/mynativelib.so
+.intermediates/mynativelib/android_arm_armv7-a-neon_shared/mynativelib.so -> arm/lib/mynativelib.so
+.intermediates/myothernativelib/android_arm64_armv8-a_shared/myothernativelib.so -> arm64/lib/myothernativelib.so
+.intermediates/myothernativelib/android_arm_armv7-a-neon_shared/myothernativelib.so -> arm/lib/myothernativelib.so
+.intermediates/mysystemnativelib/android_arm64_armv8-a_shared/mysystemnativelib.so -> arm64/lib/mysystemnativelib.so
+.intermediates/mysystemnativelib/android_arm_armv7-a-neon_shared/mysystemnativelib.so -> arm/lib/mysystemnativelib.so
+`),
+ )
+}
+
func TestHostSnapshotWithCcSharedLibrary(t *testing.T) {
// b/145598135 - Generating host snapshots for anything other than linux is not supported.
SkipIfNotLinux(t)
@@ -652,7 +831,6 @@ cc_prebuilt_library_shared {
},
},
stl: "none",
- system_shared_libs: [],
}
cc_prebuilt_library_shared {
@@ -673,7 +851,6 @@ cc_prebuilt_library_shared {
},
},
stl: "none",
- system_shared_libs: [],
}
sdk_snapshot {
@@ -753,7 +930,6 @@ cc_prebuilt_library_shared {
},
},
stl: "none",
- system_shared_libs: [],
}
cc_prebuilt_library_shared {
@@ -773,7 +949,6 @@ cc_prebuilt_library_shared {
},
},
stl: "none",
- system_shared_libs: [],
}
sdk_snapshot {
@@ -833,7 +1008,6 @@ cc_prebuilt_library_static {
},
},
stl: "none",
- system_shared_libs: [],
}
cc_prebuilt_library_static {
@@ -851,7 +1025,6 @@ cc_prebuilt_library_static {
},
},
stl: "none",
- system_shared_libs: [],
}
module_exports_snapshot {
@@ -924,7 +1097,6 @@ cc_prebuilt_library_static {
},
},
stl: "none",
- system_shared_libs: [],
}
cc_prebuilt_library_static {
@@ -944,7 +1116,6 @@ cc_prebuilt_library_static {
},
},
stl: "none",
- system_shared_libs: [],
}
module_exports_snapshot {
@@ -1020,7 +1191,6 @@ cc_prebuilt_library_static {
},
},
stl: "none",
- system_shared_libs: [],
}
cc_prebuilt_library_static {
@@ -1036,7 +1206,6 @@ cc_prebuilt_library_static {
},
},
stl: "none",
- system_shared_libs: [],
}
module_exports_snapshot {
@@ -1084,7 +1253,6 @@ cc_prebuilt_library_headers {
sdk_member_name: "mynativeheaders",
export_include_dirs: ["include/include"],
stl: "none",
- system_shared_libs: [],
}
cc_prebuilt_library_headers {
@@ -1092,7 +1260,6 @@ cc_prebuilt_library_headers {
prefer: false,
export_include_dirs: ["include/include"],
stl: "none",
- system_shared_libs: [],
}
sdk_snapshot {
@@ -1139,7 +1306,6 @@ cc_prebuilt_library_headers {
host_supported: true,
export_include_dirs: ["include/include"],
stl: "none",
- system_shared_libs: [],
}
cc_prebuilt_library_headers {
@@ -1149,7 +1315,6 @@ cc_prebuilt_library_headers {
host_supported: true,
export_include_dirs: ["include/include"],
stl: "none",
- system_shared_libs: [],
}
sdk_snapshot {
@@ -1211,7 +1376,6 @@ cc_prebuilt_library_headers {
},
},
stl: "none",
- system_shared_libs: [],
}
cc_prebuilt_library_headers {
@@ -1228,7 +1392,6 @@ cc_prebuilt_library_headers {
},
},
stl: "none",
- system_shared_libs: [],
}
sdk_snapshot {