Add test APIs for Microdroid GKI
As we'll run MicrodroidTests on all supported GKIs, this adds test APIs
to get a list of available OSes and to run a specific microdroid GKI.
MicrodroidTests will use the API to retrieve a list of available GKIs
and run tests with such GKIs.
Bug: 302465542
Test: atest MicrodroidTests
Change-Id: I35bb602975776396445f96154e7be3891580e91d
diff --git a/vm/src/main.rs b/vm/src/main.rs
index 9a92f13..5c07eed 100644
--- a/vm/src/main.rs
+++ b/vm/src/main.rs
@@ -27,7 +27,6 @@
use clap::{Args, Parser};
use create_idsig::command_create_idsig;
use create_partition::command_create_partition;
-use glob::glob;
use run::{command_run, command_run_app, command_run_microdroid};
use std::num::NonZeroU16;
use std::path::{Path, PathBuf};
@@ -316,12 +315,6 @@
Ok(())
}
-fn extract_gki_version(gki_config: &Path) -> Option<&str> {
- let name = gki_config.file_name()?;
- let name_str = name.to_str()?;
- name_str.strip_prefix("microdroid_gki-")?.strip_suffix(".json")
-}
-
/// Print information about supported VM types.
fn command_info() -> Result<(), Error> {
let non_protected_vm_supported = hypervisor_props::is_vm_supported()?;
@@ -361,11 +354,8 @@
let devices = devices.into_iter().map(|x| x.node).collect::<Vec<_>>();
println!("Assignable devices: {}", serde_json::to_string(&devices)?);
- let gki_configs =
- glob("/apex/com.android.virt/etc/microdroid_gki-*.json")?.collect::<Result<Vec<_>, _>>()?;
- let gki_versions =
- gki_configs.iter().filter_map(|x| extract_gki_version(x)).collect::<Vec<_>>();
- println!("Available gki versions: {}", serde_json::to_string(&gki_versions)?);
+ let os_list = get_service()?.getSupportedOSList()?;
+ println!("Available OS list: {}", serde_json::to_string(&os_list)?);
Ok(())
}