[VM] Check imported VM and original VM have the same CDI
Test: atest MicrodroidTests
Bug: 243129654
Change-Id: I1cbf4996255efb3a3331163c5c5c5822c003b1d6
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 5e86798..eb719b8 100644
--- a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
+++ b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
@@ -601,6 +601,36 @@
}
@Test
+ public void importedVmAndOriginalVmHaveTheSameCdi() throws Exception {
+ assumeSupportedKernel();
+ // Arrange
+ grantPermission(VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION);
+ VirtualMachineConfig config =
+ mInner.newVmConfigBuilder()
+ .setPayloadConfigPath("assets/vm_config.json")
+ .setDebugLevel(DEBUG_LEVEL_FULL)
+ .build();
+ String vmNameOrig = "test_vm_orig";
+ String vmNameImport = "test_vm_import";
+ VirtualMachine vmOrig = mInner.forceCreateNewVirtualMachine(vmNameOrig, config);
+ VmCdis origCdis = launchVmAndGetCdis(vmNameOrig);
+ assertThat(origCdis.instanceSecret).isNotNull();
+ VirtualMachineDescriptor descriptor = vmOrig.toDescriptor();
+ VirtualMachineManager vmm = mInner.getVirtualMachineManager();
+ if (vmm.get(vmNameImport) != null) {
+ vmm.delete(vmNameImport);
+ }
+
+ // Action
+ // The imported VM will be fetched by name later.
+ VirtualMachine unusedVmImport = vmm.importFromDescriptor(vmNameImport, descriptor);
+
+ // Asserts
+ VmCdis importCdis = launchVmAndGetCdis(vmNameImport);
+ assertThat(origCdis.instanceSecret).isEqualTo(importCdis.instanceSecret);
+ }
+
+ @Test
public void importedVmIsEqualToTheOriginalVm() throws Exception {
// Arrange
VirtualMachineConfig config =
@@ -608,7 +638,8 @@
.setPayloadBinaryPath("MicrodroidTestNativeLib.so")
.setDebugLevel(DEBUG_LEVEL_NONE)
.build();
- String vmNameOrig = "test_vm_orig", vmNameImport = "test_vm_import";
+ String vmNameOrig = "test_vm_orig";
+ String vmNameImport = "test_vm_import";
VirtualMachine vmOrig = mInner.forceCreateNewVirtualMachine(vmNameOrig, config);
// Run something to make the instance.img different with the initialized one.
TestResults origTestResults = runVmTestService(vmOrig);