commit | 6aa89ec3978ecd115de8e84ffc6078cdd230e650 | [log] [tgz] |
---|---|---|
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | Mon Feb 12 17:37:16 2024 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Mon Feb 12 17:37:16 2024 +0000 |
tree | 57c8633770b58e30889d36a0dde93023bf3dba66 | |
parent | 7f24f11ae6915ac7dcf0363a1d58c2af203d3780 [diff] | |
parent | ef5038047673def6b2ac2bfda458ab44a0875994 [diff] |
Merge "If an invalid VM config exists, delete it" into main am: 99b98e8887 am: ef50380476 Original change: https://android-review.googlesource.com/c/platform/packages/modules/Virtualization/+/2957932 Change-Id: Iae51b77ef375f8d2132036ace27dd3ff56fd89cd 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);