From db1f511228e26aaeeff452427637942747bbf42b Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Wed, 22 Mar 2017 15:42:32 +0200 Subject: oe-selftest: test wic rawcopy plugin Added test_rawcopy_plugin_qemu test case and wks template. This test builds ext4 rootfs image, copies it to the root partition of the wic image using rawcopy plugin and boots wic image in qemu. [YOCTO #10618] Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- meta-selftest/wic/test_rawcopy_plugin.wks.in | 6 ++++++ meta/lib/oeqa/selftest/wic.py | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 meta-selftest/wic/test_rawcopy_plugin.wks.in diff --git a/meta-selftest/wic/test_rawcopy_plugin.wks.in b/meta-selftest/wic/test_rawcopy_plugin.wks.in new file mode 100644 index 0000000000..83be4be914 --- /dev/null +++ b/meta-selftest/wic/test_rawcopy_plugin.wks.in @@ -0,0 +1,6 @@ +# short-description: This file is used in oe-selftest wic module to test rawcopy plugin + +part /boot --active --source bootimg-pcbios +part / --source rawcopy --sourceparams="file=core-image-minimal-${MACHINE}.ext4" --use-uuid + +bootloader --timeout=0 --append="console=ttyS0,115200n8" diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py index 4aacd86085..2e22362e42 100644 --- a/meta/lib/oeqa/selftest/wic.py +++ b/meta/lib/oeqa/selftest/wic.py @@ -681,3 +681,19 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r os.remove(wkspath) wicout = glob(self.resultdir + "%s-*direct" % wksname) self.assertEqual(0, len(wicout)) + + @only_for_arch(['i586', 'i686', 'x86_64']) + def test_rawcopy_plugin_qemu(self): + """Test rawcopy plugin in qemu""" + # build ext4 and wic images + for fstype in ("ext4", "wic"): + config = 'IMAGE_FSTYPES = "%s"\nWKS_FILE = "test_rawcopy_plugin.wks.in"\n' % fstype + self.append_config(config) + self.assertEqual(0, bitbake('core-image-minimal').status) + self.remove_config(config) + + with runqemu('core-image-minimal', ssh=False, image_fstype='wic') as qemu: + cmd = "grep vda. /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') -- cgit 1.2.3-korg