summaryrefslogtreecommitdiff
path: root/apex/apex_test.go
diff options
context:
space:
mode:
author Jooyung Han <jooyung@google.com> 2020-02-26 02:35:10 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2020-02-26 02:35:10 +0000
commit077f9a44f93b496d017e5c0f20c18c4bbc5ee3d0 (patch)
treeb65661a35341c0a296eedb03ab4d33723ee13eed /apex/apex_test.go
parent9a63ee1b4fbfe551924ad0002d91a2908cc8545d (diff)
parentb7bebe2616184a02008d6ed3729845445a2310ca (diff)
Merge "apex: do not follow jni_libs from android_app"
Diffstat (limited to 'apex/apex_test.go')
-rw-r--r--apex/apex_test.go28
1 files changed, 20 insertions, 8 deletions
diff --git a/apex/apex_test.go b/apex/apex_test.go
index 056c48d8f..10fc8d6aa 100644
--- a/apex/apex_test.go
+++ b/apex/apex_test.go
@@ -2891,6 +2891,15 @@ func TestApexWithApps(t *testing.T) {
cc_library_shared {
name: "libjni",
srcs: ["mylib.cpp"],
+ shared_libs: ["libfoo"],
+ stl: "none",
+ system_shared_libs: [],
+ apex_available: [ "myapex" ],
+ sdk_version: "current",
+ }
+
+ cc_library_shared {
+ name: "libfoo",
stl: "none",
system_shared_libs: [],
apex_available: [ "myapex" ],
@@ -2905,16 +2914,19 @@ func TestApexWithApps(t *testing.T) {
ensureContains(t, copyCmds, "image.apex/app/AppFoo/AppFoo.apk")
ensureContains(t, copyCmds, "image.apex/priv-app/AppFooPriv/AppFooPriv.apk")
- // JNI libraries are embedded inside APK
- appZipRule := ctx.ModuleForTests("AppFoo", "android_common_myapex").Description("zip jni lib")
- libjniOutput := ctx.ModuleForTests("libjni", "android_arm64_armv8-a_shared_myapex").Module().(*cc.Module).OutputFile()
- ensureListContains(t, appZipRule.Implicits.Strings(), libjniOutput.String())
- // ... uncompressed
+ appZipRule := ctx.ModuleForTests("AppFoo", "android_common_myapex").Description("zip jni libs")
+ // JNI libraries are uncompressed
if args := appZipRule.Args["jarArgs"]; !strings.Contains(args, "-L 0") {
- t.Errorf("jni lib is not uncompressed for AppFoo")
+ t.Errorf("jni libs are not uncompressed for AppFoo")
+ }
+ // JNI libraries including transitive deps are
+ for _, jni := range []string{"libjni", "libfoo"} {
+ jniOutput := ctx.ModuleForTests(jni, "android_arm64_armv8-a_shared_myapex").Module().(*cc.Module).OutputFile()
+ // ... embedded inside APK (jnilibs.zip)
+ ensureListContains(t, appZipRule.Implicits.Strings(), jniOutput.String())
+ // ... and not directly inside the APEX
+ ensureNotContains(t, copyCmds, "image.apex/lib64/"+jni+".so")
}
- // ... and not directly inside the APEX
- ensureNotContains(t, copyCmds, "image.apex/lib64/libjni.so")
}
func TestApexWithAppImports(t *testing.T) {