wic: selftest: add test_wic_cp_ext test case

Tested if 'wic cp' correctly copies files to the ext4 partition
of the wic image.

(From OE-Core rev: 7970907c72d9533fd63d2c8796bbeb9be86b3fc3)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ed Bartosh
2017-09-05 14:54:41 +03:00
committed by Richard Purdie
parent d3739ff0e2
commit f5a679e9b1

View File

@@ -1008,3 +1008,33 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r
self.assertEqual(0, result.status)
self.assertTrue(set(['bin', 'home', 'proc', 'usr', 'var', 'dev', 'lib', 'sbin']).issubset(
set(line.split()[-1] for line in result.output.split('\n') if line)))
def test_wic_cp_ext(self):
"""Test copy files and directories to the ext partition."""
self.assertEqual(0, runCmd("wic create wictestdisk "
"--image-name=core-image-minimal "
"-D -o %s" % self.resultdir).status)
images = glob(self.resultdir + "wictestdisk-*.direct")
self.assertEqual(1, len(images))
sysroot = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools')
# list directory content of the ext4 partition
result = runCmd("wic ls %s:2/ -n %s" % (images[0], sysroot))
self.assertEqual(0, result.status)
dirs = set(line.split()[-1] for line in result.output.split('\n') if line)
self.assertTrue(set(['bin', 'home', 'proc', 'usr', 'var', 'dev', 'lib', 'sbin']).issubset(dirs))
with NamedTemporaryFile("w", suffix=".wic-cp") as testfile:
testfile.write("test")
# copy file to the partition
result = runCmd("wic cp %s %s:2/ -n %s" % (testfile.name, images[0], sysroot))
self.assertEqual(0, result.status)
# check if file is there
result = runCmd("wic ls %s:2/ -n %s" % (images[0], sysroot))
self.assertEqual(0, result.status)
newdirs = set(line.split()[-1] for line in result.output.split('\n') if line)
self.assertEqual(newdirs.difference(dirs), set([os.path.basename(testfile.name)]))