[OE-core] [PATCH v2 4/5] oe-selftest: add wic tests for generic EFI
Ed Bartosh
ed.bartosh at linux.intel.com
Thu May 11 12:21:21 UTC 2017
Added test_generic_efi_grub_qemu and test_generic_efi_systemd_qemu
test cases and wks template to build and boot generic EFI images in qemu.
[YOCTO #10073]
Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
---
meta-selftest/wic/test_generic_efi.wks.in | 9 ++++++++
meta/lib/oeqa/selftest/wic.py | 36 +++++++++++++++++++++++++++++++
2 files changed, 45 insertions(+)
create mode 100644 meta-selftest/wic/test_generic_efi.wks.in
diff --git a/meta-selftest/wic/test_generic_efi.wks.in b/meta-selftest/wic/test_generic_efi.wks.in
new file mode 100644
index 0000000..fecf3fd
--- /dev/null
+++ b/meta-selftest/wic/test_generic_efi.wks.in
@@ -0,0 +1,9 @@
+# short-description: Create an EFI disk image
+# long-description: Creates a partitioned EFI disk image that the user
+# can directly dd to boot media.
+
+part /boot --source rootfs --rootfs-dir=${WORKDIR}/bootfs --fstype=vfat --label boot --active --align 1024
+
+part / --source rootfs --fstype=ext4 --label root --align 1024 --uuid ${ROOTFS_PARTUUID}
+
+bootloader --ptable gpt
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index cdec80c..9cb9507 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -789,3 +789,39 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r
# 8 blocks is 4K (physical sector size)
self.assertEqual(dest_stat.st_blocks, 8)
os.unlink(dest)
+
+ @only_for_arch(['i586', 'i686', 'x86_64'])
+ def test_generic_efi_grub_qemu(self):
+ """Test generic efi (grub-efi) image in qemu"""
+ config = 'IMAGE_FSTYPES = "wic"\nMACHINE_FEATURES_append = " efi"\n'\
+ 'EFI_PROVIDER = "grub-efi"\n'\
+ 'WKS_FILE = "test_generic_efi.wks.in"\n'
+
+ self.append_config(config)
+ self.assertEqual(0, bitbake('core-image-minimal ovmf').status)
+ self.remove_config(config)
+
+ with runqemu('core-image-minimal', ssh=False,
+ runqemuparams='ovmf', image_fstype='wic') as qemu:
+ cmd = "grep sda. /proc/partitions |wc -l"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
+ self.assertEqual(output, '2')
+
+ @only_for_arch(['i586', 'i686', 'x86_64'])
+ def test_generic_efi_systemd_qemu(self):
+ """Test generic efi (systemd-boot) image in qemu"""
+ config = 'IMAGE_FSTYPES = "wic"\nMACHINE_FEATURES_append = " efi"\n'\
+ 'EFI_PROVIDER = "systemd-boot"\n'\
+ 'WKS_FILE = "test_generic_efi.wks.in"\n'
+
+ self.append_config(config)
+ self.assertEqual(0, bitbake('core-image-minimal ovmf').status)
+ self.remove_config(config)
+
+ with runqemu('core-image-minimal', ssh=False,
+ runqemuparams='ovmf', image_fstype='wic') as qemu:
+ cmd = "grep sda. /proc/partitions |wc -l"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
+ self.assertEqual(output, '2')
--
2.1.4
More information about the Openembedded-core
mailing list