diff options
| author | Manuel Bentele | 2021-11-30 09:08:03 +0100 |
|---|---|---|
| committer | Manuel Bentele | 2021-11-30 09:08:03 +0100 |
| commit | 8f1c0f8dacf3a5216276f0981d3f5753c75ed750 (patch) | |
| tree | 7bc00214f63d0cac2638a55837a8029bf7692027 /src/test/java/org/openslx/firmware/QemuFirmwareTest.java | |
| parent | Add CPU topology functionality for Libvirt domain XML configs (diff) | |
| download | master-sync-shared-8f1c0f8.tar.gz master-sync-shared-8f1c0f8.tar.xz master-sync-shared-8f1c0f8.zip | |
Add firmware loader lookup algorithm for Libvirt/QEMU machines
Diffstat (limited to 'src/test/java/org/openslx/firmware/QemuFirmwareTest.java')
| -rw-r--r-- | src/test/java/org/openslx/firmware/QemuFirmwareTest.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/test/java/org/openslx/firmware/QemuFirmwareTest.java b/src/test/java/org/openslx/firmware/QemuFirmwareTest.java new file mode 100644 index 0000000..3088265 --- /dev/null +++ b/src/test/java/org/openslx/firmware/QemuFirmwareTest.java @@ -0,0 +1,45 @@ +package org.openslx.firmware; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; + +import java.io.File; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class QemuFirmwareTest +{ + @Test + @DisplayName( "Test parsing of valid QEMU firmware specification file" ) + public void testQemuFirmwareFromFwSpecValid() + { + final File fwSpecFile = QemuFirmwareTestResources.getQemuFirmwareSpecFile( "60-edk2-x86_64.json" ); + + final QemuFirmware firmware = QemuFirmware.fromFwSpec( fwSpecFile ); + + assertNotNull( firmware ); + assertEquals( "UEFI firmware for x86_64", firmware.getDescription() ); + assertEquals( 1, firmware.getInterfaceTypes().size() ); + assertEquals( "uefi", firmware.getInterfaceTypes().get( 0 ) ); + assertEquals( "/usr/share/qemu/edk2-x86_64-code.fd", firmware.getMapping().getExecutable().getFileName() ); + assertEquals( "/usr/share/qemu/edk2-i386-vars.fd", firmware.getMapping().getNvramTemplate().getFileName() ); + assertEquals( 1, firmware.getTargets().size() ); + assertEquals( "x86_64", firmware.getTargets().get( 0 ).getArchitecture() ); + assertEquals( 2, firmware.getTargets().get( 0 ).getMachines().size() ); + assertEquals( "pc-i440fx-*", firmware.getTargets().get( 0 ).getMachines().get( 0 ) ); + assertEquals( "pc-q35-*", firmware.getTargets().get( 0 ).getMachines().get( 1 ) ); + assertEquals( 3, firmware.getFeatures().size() ); + assertEquals( 0, firmware.getTags().size() ); + } + + @Test + @DisplayName( "Test parsing of invalid QEMU firmware specification file" ) + public void testQemuFirmwareFromFwSpecInvalid() + { + final QemuFirmware firmware = QemuFirmware.fromFwSpec( null ); + + assertNull( firmware ); + } +} |
