commit | ef5038047673def6b2ac2bfda458ab44a0875994 | [log] [tgz] |
---|---|---|
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | Mon Feb 12 16:57:36 2024 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Mon Feb 12 16:57:36 2024 +0000 |
tree | 57c8633770b58e30889d36a0dde93023bf3dba66 | |
parent | 44556ad2ad718f752615279f6304238da808f277 [diff] | |
parent | 99b98e888704b35c46419cf5133e2213ab97fecb [diff] |
Merge "If an invalid VM config exists, delete it" into main am: 99b98e8887 Original change: https://android-review.googlesource.com/c/platform/packages/modules/Virtualization/+/2957932 Change-Id: I844c8765eab45710a43c38c659c6186be19849d1 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/javalib/src/android/system/virtualmachine/VirtualMachineManager.java b/javalib/src/android/system/virtualmachine/VirtualMachineManager.java index 1250bd1..1607c0a 100644 --- a/javalib/src/android/system/virtualmachine/VirtualMachineManager.java +++ b/javalib/src/android/system/virtualmachine/VirtualMachineManager.java
@@ -211,7 +211,7 @@ * * @see #getOrCreate * @throws VirtualMachineException if the virtual machine exists but could not be successfully - * retrieved. + * retrieved. This can be resolved by calling {@link #delete} on the VM. * @hide */ @SystemApi
diff --git a/tests/helper/src/java/com/android/microdroid/test/device/MicrodroidDeviceTestBase.java b/tests/helper/src/java/com/android/microdroid/test/device/MicrodroidDeviceTestBase.java index 15e175b..8e11218 100644 --- a/tests/helper/src/java/com/android/microdroid/test/device/MicrodroidDeviceTestBase.java +++ b/tests/helper/src/java/com/android/microdroid/test/device/MicrodroidDeviceTestBase.java
@@ -150,8 +150,15 @@ public VirtualMachine forceCreateNewVirtualMachine(String name, VirtualMachineConfig config) throws VirtualMachineException { final VirtualMachineManager vmm = getVirtualMachineManager(); - VirtualMachine existingVm = vmm.get(name); - if (existingVm != null) { + boolean deleteExisting; + try { + deleteExisting = vmm.get(name) != null; + } catch (VirtualMachineException e) { + // VM exists, i.e. there are some files for it, but they could not be successfully + // loaded. + deleteExisting = true; + } + if (deleteExisting) { vmm.delete(name); } return vmm.create(name, config);