Correctly pass force-abi to instrumental test.
Bug: 17089768
Change-Id: I00a71a5fee62f3d0241757df5520e8abf9222379
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java
index de868d1..d90a61e 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java
@@ -42,6 +42,7 @@
import com.android.tradefed.testtype.IRemoteTest;
import com.android.tradefed.testtype.IResumableTest;
import com.android.tradefed.testtype.IShardableTest;
+import com.android.tradefed.testtype.InstrumentationTest;
import com.android.tradefed.util.AbiFormatter;
import com.android.tradefed.util.RunUtil;
import com.android.tradefed.util.xml.AbstractXmlParser.ParseException;
@@ -477,6 +478,11 @@
if (test instanceof IBuildReceiver) {
((IBuildReceiver) test).setBuild(mBuildInfo);
}
+ // setForceAbi should be exposed on device test.
+ // This is not the best fix, but works.
+ if (test instanceof InstrumentationTest) {
+ ((InstrumentationTest)test).setForceAbi(mForceAbi);
+ }
forwardPackageDetails(knownTests.getPackageDef(), listener);
test.run(filter);
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/InstrumentationApkTest.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/InstrumentationApkTest.java
index 35b4998..eab7925 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/InstrumentationApkTest.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/InstrumentationApkTest.java
@@ -48,11 +48,6 @@
private CtsBuildHelper mCtsBuild = null;
- @Option(name = AbiFormatter.FORCE_ABI_STRING,
- description = AbiFormatter.FORCE_ABI_DESCRIPTION,
- importance = Importance.IF_UNSET)
- private String mForceAbi = null;
-
/**
* {@inheritDoc}
*/
@@ -96,12 +91,14 @@
File apkFile = mCtsBuild.getTestApp(apkFileName);
String errorCode = null;
String[] options = {};
- if (mForceAbi != null) {
+ String forceAbi = getForceAbi();
+ if (forceAbi != null) {
String abi = AbiFormatter.getDefaultAbi(mTestDevice, mForceAbi);
if (abi != null) {
options = new String[]{String.format("--abi %s ", abi)};
}
}
+ Log.d(LOG_TAG, "installPackage options: " + options);
errorCode = mTestDevice.installPackage(apkFile, true, options);
if (errorCode != null) {
Log.e(LOG_TAG, String.format("Failed to install %s on %s. Reason: %s",