diff options
author | 2020-02-26 02:35:10 +0000 | |
---|---|---|
committer | 2020-02-26 02:35:10 +0000 | |
commit | 077f9a44f93b496d017e5c0f20c18c4bbc5ee3d0 (patch) | |
tree | b65661a35341c0a296eedb03ab4d33723ee13eed /apex/apex_test.go | |
parent | 9a63ee1b4fbfe551924ad0002d91a2908cc8545d (diff) | |
parent | b7bebe2616184a02008d6ed3729845445a2310ca (diff) |
Merge "apex: do not follow jni_libs from android_app"
Diffstat (limited to 'apex/apex_test.go')
-rw-r--r-- | apex/apex_test.go | 28 |
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) { |