Merge "[AVF Telemetry] Add exception_code to logged atoms"
diff --git a/libs/avb_bindgen/Android.bp b/libs/avb_bindgen/Android.bp
index 1035498..1e62864 100644
--- a/libs/avb_bindgen/Android.bp
+++ b/libs/avb_bindgen/Android.bp
@@ -4,6 +4,7 @@
rust_bindgen {
name: "libavb_bindgen",
+ host_supported: true,
wrapper_src: "bindgen/avb.h",
crate_name: "avb_bindgen",
source_stem: "bindings",
diff --git a/tests/hostside/helper/java/android/virt/test/VirtualizationTestCaseBase.java b/tests/hostside/helper/java/android/virt/test/VirtualizationTestCaseBase.java
index df3e247..440ae18 100644
--- a/tests/hostside/helper/java/android/virt/test/VirtualizationTestCaseBase.java
+++ b/tests/hostside/helper/java/android/virt/test/VirtualizationTestCaseBase.java
@@ -133,6 +133,19 @@
return result.getStdout().trim();
}
+ // Same as runOnMicrodroid, but keeps retrying on error till timeout
+ private static String runOnMicrodroidRetryingOnFailure(String... cmd) {
+ final long timeoutMs = 30000; // 30 sec. Microdroid is extremely slow on GCE-on-CF.
+ int attempts = (int) MICRODROID_ADB_CONNECT_TIMEOUT_MINUTES * 60 * 1000 / 500;
+ CommandResult result = RunUtil.getDefault()
+ .runTimedCmdRetry(timeoutMs, 500, attempts,
+ "adb", "-s", MICRODROID_SERIAL, "shell", join(cmd));
+ if (result.getStatus() != CommandStatus.SUCCESS) {
+ fail(join(cmd) + " has failed: " + result);
+ }
+ return result.getStdout().trim();
+ }
+
// Same as runOnMicrodroid, but returns null on error.
public static String tryRunOnMicrodroid(String... cmd) {
CommandResult result = runOnMicrodroidForResult(cmd);
@@ -332,13 +345,16 @@
public static void rootMicrodroid() {
runOnHost("adb", "-s", MICRODROID_SERIAL, "root");
-
runOnHostWithTimeout(
MICRODROID_ADB_CONNECT_TIMEOUT_MINUTES * 60 * 1000,
"adb",
"-s",
MICRODROID_SERIAL,
"wait-for-device");
+ // There have been tests when adb wait-for-device succeeded but the following command
+ // fails with error: closed. Hence, we run adb shell true in microdroid with retries
+ // before returning.
+ runOnMicrodroidRetryingOnFailure("true");
}
// Establish an adb connection to microdroid by letting Android forward the connection to