[cts/pm] fix extract native lib tests for forced abi

When "--abi" is used in the test params to specify 32-bit only,
skip override/update tests and skip install tests that use the wrong abi

Test: atest CtsExtractNativeLibsHostTestCases -- --abi armeabi-v7a
BUG: 203096913
Change-Id: I8a73541a9abccae3de79d9373458069e9a8965d1
Merged-In: I8a73541a9abccae3de79d9373458069e9a8965d1
diff --git a/hostsidetests/packagemanager/extractnativelibs/apps/app_extract/src/com/android/cts/extractnativelibs/app/extract/ExtractNativeLibsTrueDeviceTest.java b/hostsidetests/packagemanager/extractnativelibs/apps/app_extract/src/com/android/cts/extractnativelibs/app/extract/ExtractNativeLibsTrueDeviceTest.java
index 4755b10..7930580 100644
--- a/hostsidetests/packagemanager/extractnativelibs/apps/app_extract/src/com/android/cts/extractnativelibs/app/extract/ExtractNativeLibsTrueDeviceTest.java
+++ b/hostsidetests/packagemanager/extractnativelibs/apps/app_extract/src/com/android/cts/extractnativelibs/app/extract/ExtractNativeLibsTrueDeviceTest.java
@@ -47,7 +47,9 @@
         File nativeLibDir = new File(mContext.getApplicationInfo().nativeLibraryDir);
         Assert.assertTrue(nativeLibDir.exists());
         Assert.assertTrue(nativeLibDir.isDirectory());
-        Assert.assertTrue(nativeLibDir.getAbsolutePath().endsWith(expectedSubDir));
+        Assert.assertTrue("Native lib dir: " + nativeLibDir.getAbsolutePath()
+                        + " does not end with: " + expectedSubDir,
+                nativeLibDir.getAbsolutePath().endsWith(expectedSubDir));
         Assert.assertEquals(1, nativeLibDir.list().length);
     }
 
diff --git a/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestAbiOverride.java b/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestAbiOverride.java
index 876b1ee..a67c83d 100644
--- a/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestAbiOverride.java
+++ b/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestAbiOverride.java
@@ -58,6 +58,8 @@
 
     @Override
     public void setUp() throws Exception {
+        // Skip the test if the requested test ABI is 32 bit (that defeats the purpose of this test)
+        assumeTrue(AbiUtils.getBitness(getAbi().getName()).equals("64"));
         final String deviceAbi = getDeviceAbi();
         final Set<String> deviceAbis = getDeviceAbis();
         final Set<String> apkAbis = getApkAbis();
diff --git a/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestBase.java b/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestBase.java
index 129986b..e1dcea4 100644
--- a/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestBase.java
+++ b/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestBase.java
@@ -177,7 +177,7 @@
      * @return an ABI string from AbiUtils.ABI_*
      * @return an ABI string from AbiUtils.ABI_*
      */
-    final String getExpectedLibAbi(String abiSuffix) throws Exception {
+    final String getExpectedLibAbi(String abiSuffix) {
         final String testAbi = getAbi().getName();
         final String testBitness = AbiUtils.getBitness(testAbi);
         final String libBitness;
diff --git a/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestInstalls.java b/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestInstalls.java
index ca82dec..d5ca4f7 100644
--- a/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestInstalls.java
+++ b/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestInstalls.java
@@ -23,6 +23,8 @@
 import android.cts.host.utils.DeviceJUnit4Parameterized;
 import android.platform.test.annotations.AppModeFull;
 
+import com.android.tradefed.util.AbiUtils;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -72,6 +74,11 @@
             // Skip incremental installations for non-incremental devices
             assumeTrue(isIncrementalInstallSupported());
         }
+        // Skip 64 bit tests if the test requires 32 bit ABI
+        final boolean isTest32Bit = AbiUtils.getBitness(getAbi().getName()).equals("32");
+        if (isTest32Bit) {
+            assumeTrue(mAbiSuffix.equals("32"));
+        }
         if (!mAbiSuffix.equals("Both")) {
             // Skip tests for unsupported abi suffixes.
             assumeTrue(getDeviceAbiSuffixes().contains(mAbiSuffix));
diff --git a/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestUpdates.java b/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestUpdates.java
index 9ad35f1..0450f54 100644
--- a/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestUpdates.java
+++ b/hostsidetests/packagemanager/extractnativelibs/src/android/extractnativelibs/cts/CtsExtractNativeLibsHostTestUpdates.java
@@ -23,6 +23,8 @@
 import android.cts.host.utils.DeviceJUnit4Parameterized;
 import android.platform.test.annotations.AppModeFull;
 
+import com.android.tradefed.util.AbiUtils;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -77,6 +79,8 @@
 
     @Override
     public void setUp() throws Exception {
+        // Skip the test if the requested test ABI is 32 bit (that defeats the purpose of this test)
+        assumeTrue(AbiUtils.getBitness(getAbi().getName()).equals("64"));
         if (mIsIncremental) {
             // Skip incremental installations for non-incremental devices
             assumeTrue(isIncrementalInstallSupported());