summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Watt <JPEWhacker@gmail.com>2020-06-09 12:16:31 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-06-12 08:25:04 +0100
commit4f3aca1a5660f8d4bc4342ba2838009a90647003 (patch)
tree3f8f7bfb1049d9dd79fb2dada23239a72d53781b
parent37fffeb81fad048202f88b0d67dba78af27b10bb (diff)
downloadpoky-4f3aca1a5660f8d4bc4342ba2838009a90647003.tar.gz
wic: Fix --extra-space argument handling
467f84e12b ("wic: Add --offset argument for partitions") broke the --extra-space argument handling in wic. Fix the option and add a unit test for the argument. (From OE-Core rev: 87722a92c18f94917c8f70afc8cd0763462a5c25) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/selftest/cases/wic.py15
-rw-r--r--scripts/lib/wic/ksparser.py2
2 files changed, 16 insertions, 1 deletions
diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
index 9e7be6168e..8b58285c32 100644
--- a/meta/lib/oeqa/selftest/cases/wic.py
+++ b/meta/lib/oeqa/selftest/cases/wic.py
@@ -908,6 +908,21 @@ class Wic2(WicTestCase):
908 p, _ = self._get_wic_partitions(tempf.name, ignore_status=True) 908 p, _ = self._get_wic_partitions(tempf.name, ignore_status=True)
909 self.assertNotEqual(p.status, 0, "wic exited successfully when an error was expected:\n%s" % p.output) 909 self.assertNotEqual(p.status, 0, "wic exited successfully when an error was expected:\n%s" % p.output)
910 910
911 def test_extra_space(self):
912 native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "wic-tools")
913
914 with NamedTemporaryFile("w", suffix=".wks") as tempf:
915 tempf.write("bootloader --ptable gpt\n" \
916 "part / --source rootfs --ondisk hda --extra-space 200M --fstype=ext4\n")
917 tempf.flush()
918
919 _, partlns = self._get_wic_partitions(tempf.name, native_sysroot)
920 self.assertEqual(len(partlns), 1)
921 size = partlns[0].split(':')[3]
922 self.assertRegex(size, r'^[0-9]+kiB$')
923 size = int(size[:-3])
924 self.assertGreaterEqual(size, 204800)
925
911 @only_for_arch(['i586', 'i686', 'x86_64']) 926 @only_for_arch(['i586', 'i686', 'x86_64'])
912 def test_rawcopy_plugin_qemu(self): 927 def test_rawcopy_plugin_qemu(self):
913 """Test rawcopy plugin in qemu""" 928 """Test rawcopy plugin in qemu"""
diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py
index 05ae292ef5..3453d9cb9d 100644
--- a/scripts/lib/wic/ksparser.py
+++ b/scripts/lib/wic/ksparser.py
@@ -145,7 +145,7 @@ class KickStart():
145 part.add_argument('--exclude-path', nargs='+') 145 part.add_argument('--exclude-path', nargs='+')
146 part.add_argument('--include-path', nargs='+', action='append') 146 part.add_argument('--include-path', nargs='+', action='append')
147 part.add_argument('--change-directory') 147 part.add_argument('--change-directory')
148 part.add_argument("--extra-space", type=sizetype) 148 part.add_argument("--extra-space", type=sizetype("M"))
149 part.add_argument('--fsoptions', dest='fsopts') 149 part.add_argument('--fsoptions', dest='fsopts')
150 part.add_argument('--fstype', default='vfat', 150 part.add_argument('--fstype', default='vfat',
151 choices=('ext2', 'ext3', 'ext4', 'btrfs', 151 choices=('ext2', 'ext3', 'ext4', 'btrfs',