Add missing null check
The new test fails without it, passes with it.
There's a few more unit tests on the builder missing here (and we're
missing a getter), but I'll wait till things are a little more stable.
Bug: 323513087
Test: atest MicrodroidTests
Change-Id: Ibd099ea5f959d24947ff0fbf2b530d0028f311a8
diff --git a/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java b/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java
index e577f40..e8ef195 100644
--- a/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java
+++ b/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java
@@ -949,7 +949,8 @@
@FlaggedApi("RELEASE_AVF_ENABLE_VENDOR_MODULES")
@NonNull
public Builder setVendorDiskImage(@NonNull File vendorDiskImage) {
- mVendorDiskImage = vendorDiskImage;
+ mVendorDiskImage =
+ requireNonNull(vendorDiskImage, "vendor disk image must not be null");
return this;
}
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 3d83f40..85f2de5 100644
--- a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
+++ b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
@@ -543,6 +543,7 @@
assertThrows(NullPointerException.class, () -> builder.setApkPath(null));
assertThrows(NullPointerException.class, () -> builder.setPayloadConfigPath(null));
assertThrows(NullPointerException.class, () -> builder.setPayloadBinaryName(null));
+ assertThrows(NullPointerException.class, () -> builder.setVendorDiskImage(null));
assertThrows(NullPointerException.class, () -> builder.setOs(null));
// Individual property checks.