Move VM Info APIs to MicrodroidHostTestCaseBases
Bug: 320388326
Change-Id: I6ebdb80b1e682e878a14959de4c6485fdb3365fa
Test: T/H
diff --git a/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java b/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java
index 848b43b..9e19b7d 100644
--- a/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java
+++ b/tests/hostside/helper/java/com/android/microdroid/test/host/MicrodroidHostTestCaseBase.java
@@ -33,12 +33,17 @@
import com.android.tradefed.util.CommandResult;
import com.android.tradefed.util.RunUtil;
+import org.json.JSONArray;
+
import java.io.File;
import java.io.FileNotFoundException;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
+import java.util.stream.Collectors;
public abstract class MicrodroidHostTestCaseBase extends BaseHostJUnit4Test {
protected static final String TEST_ROOT = "/data/local/tmp/virt/";
@@ -164,4 +169,35 @@
.that(pathLine).startsWith("package:");
return pathLine.substring("package:".length());
}
+
+ public List<String> parseStringArrayFieldsFromVmInfo(String header) throws Exception {
+ CommandRunner android = new CommandRunner(getDevice());
+ String result = android.run("/apex/com.android.virt/bin/vm", "info");
+ List<String> ret = new ArrayList<>();
+ for (String line : result.split("\n")) {
+ if (!line.startsWith(header)) continue;
+
+ JSONArray jsonArray = new JSONArray(line.substring(header.length()));
+ for (int i = 0; i < jsonArray.length(); i++) {
+ ret.add(jsonArray.getString(i));
+ }
+ break;
+ }
+ return ret;
+ }
+
+ public List<String> getAssignableDevices() throws Exception {
+ return parseStringArrayFieldsFromVmInfo("Assignable devices: ");
+ }
+
+ public List<String> getSupportedOSList() throws Exception {
+ return parseStringArrayFieldsFromVmInfo("Available OS list: ");
+ }
+
+ public List<String> getSupportedGKIVersions() throws Exception {
+ return getSupportedOSList().stream()
+ .filter(os -> os.startsWith("microdroid_gki-"))
+ .map(os -> os.replaceFirst("^microdroid_gki-", ""))
+ .collect(Collectors.toList());
+ }
}
diff --git a/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java b/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
index 21abdaa..1739eab 100644
--- a/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
+++ b/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
@@ -1075,37 +1075,6 @@
&& device.doesFileExist("/sys/bus/platform/drivers/vfio-platform"));
}
- private List<String> parseStringArrayFieldsFromVmInfo(String header) throws Exception {
- CommandRunner android = new CommandRunner(getDevice());
- String result = android.run("/apex/com.android.virt/bin/vm", "info");
- List<String> ret = new ArrayList<>();
- for (String line : result.split("\n")) {
- if (!line.startsWith(header)) continue;
-
- JSONArray jsonArray = new JSONArray(line.substring(header.length()));
- for (int i = 0; i < jsonArray.length(); i++) {
- ret.add(jsonArray.getString(i));
- }
- break;
- }
- return ret;
- }
-
- private List<String> getAssignableDevices() throws Exception {
- return parseStringArrayFieldsFromVmInfo("Assignable devices: ");
- }
-
- private List<String> getSupportedOSList() throws Exception {
- return parseStringArrayFieldsFromVmInfo("Available OS list: ");
- }
-
- private List<String> getSupportedGKIVersions() throws Exception {
- return getSupportedOSList().stream()
- .filter(os -> os.startsWith("microdroid_gki-"))
- .map(os -> os.replaceFirst("^microdroid_gki-", ""))
- .collect(Collectors.toList());
- }
-
private TestDevice getAndroidDevice() {
TestDevice androidDevice = (TestDevice) getDevice();
assertThat(androidDevice).isNotNull();