tree 6c1d2b41ca5fdd5f3657d41623a2bcc1869a962f
parent ce02a76ef75342ca1abbdc4350a39af5af73b297
author Felka Chang <felkachang@google.com> 1612085386 +0800
committer Felka Chang <felkachang@google.com> 1613751345 +0800

flesh out ABI non-isolate feature

Non-isolate feature means that a split can access the resources,
java calls, and native calls in the other splits.  This patch
focuses on adding tests for the non-isolate feature.

This patch creates tests to verify how ABI splits can access each ABI
split.

There are four roles that are jni, number_provider_a,
number_provider_b, and number_proxy. Each role has its own
apk and so file. There are four functions in jni.
* get_number_a_via_proxy
    using number_proxy
* get_number_b_via_proxy
    using number_proxy
* get_number_a_from_provider
    using number_provider_a
* get_number_b_from_provider
    using number_provider_b

The relationships between four roles are the following:

        .-> number_provider_a
        |          ^
        |          |
    jni +-> number_proxy
        |          |
        |          V
        .-> number_provider_b

Test: TID="CtsAppSecurityHostTestCases"; \
      TC="android.appsecurity.cts.SplitTests"; \
      METHODS="testNativeSingle_full,testNativeSingle_instant"; \
      METHODS="${METHODS},testNativeSingleNatural_full"; \
      METHODS="${METHODS},testNativeSingleNatural_instant"; \
      METHODS="${METHODS},testNativeAll_full"; \
      METHODS="${METHODS},testNativeAll_instant"; \
      METHODS="${METHODS},testNativeAllNatural_full"; \
      METHODS="${METHODS},testNativeAllNatural_instant"; \
      METHODS="${METHODS},testNativeSplitForEachSupportedAbi_full"; \
      METHODS="${METHODS},testNativeSplitForEachSupportedAbi_instant"; \
      atest "${TID}:${TC}#${METHODS}"
Bug: 173761243
Change-Id: I60610d7e56c0d1cf69bfba96b1e0cc6894273340
