Run Microdroid tests with less amount of RAM
The bootloader no longer requires huge amount of memory for the AVB
verification. The new RAM sizes are the minimum values that can pass the
tests on each architecture.
Bug: 208328715
Test: atest MicrodroidHostTestCases on both CF and oriole_pkvm
Test: atest MicrodroidTestApp on both CF and oriole_pkvm
Change-Id: Ib1605bfa17e8263f806ed03fe02db4ba86894738
diff --git a/tests/hostside/java/android/virt/test/MicrodroidTestCase.java b/tests/hostside/java/android/virt/test/MicrodroidTestCase.java
index 7d8cf85..69638d8 100644
--- a/tests/hostside/java/android/virt/test/MicrodroidTestCase.java
+++ b/tests/hostside/java/android/virt/test/MicrodroidTestCase.java
@@ -36,8 +36,8 @@
private static final String APK_NAME = "MicrodroidTestApp.apk";
private static final String PACKAGE_NAME = "com.android.microdroid.test";
- private static final int MIN_MEM_ARM64 = 256;
- private static final int MIN_MEM_X86_64 = 400;
+ private static final int MIN_MEM_ARM64 = 145;
+ private static final int MIN_MEM_X86_64 = 196;
// Number of vCPUs and their affinity to host CPUs for testing purpose
private static final int NUM_VCPUS = 3;
diff --git a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
index 0e99745..49575be 100644
--- a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
+++ b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
@@ -25,6 +25,7 @@
import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
import android.content.Context;
+import android.os.Build;
import android.os.ParcelFileDescriptor;
import android.system.virtualmachine.VirtualMachine;
import android.system.virtualmachine.VirtualMachineCallback;
@@ -127,10 +128,24 @@
public void onDied(VirtualMachine vm) {}
}
+ private static final int MIN_MEM_ARM64 = 135;
+ private static final int MIN_MEM_X86_64 = 196;
+
@Test
public void startAndStop() throws VirtualMachineException, InterruptedException {
VirtualMachineConfig.Builder builder =
new VirtualMachineConfig.Builder(mInner.mContext, "assets/vm_config.json");
+ if (Build.SUPPORTED_ABIS.length > 0) {
+ String primaryAbi = Build.SUPPORTED_ABIS[0];
+ switch(primaryAbi) {
+ case "x86_64":
+ builder.memoryMib(MIN_MEM_X86_64);
+ break;
+ case "arm64-v8a":
+ builder.memoryMib(MIN_MEM_ARM64);
+ break;
+ }
+ }
VirtualMachineConfig config = builder.build();
mInner.mVm = mInner.mVmm.getOrCreate("test_vm", config);