From 7970907c72d9533fd63d2c8796bbeb9be86b3fc3 Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Tue, 5 Sep 2017 14:54:41 +0300 Subject: wic: selftest: add test_wic_cp_ext test case Tested if 'wic cp' correctly copies files to the ext4 partition of the wic image. Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- meta/lib/oeqa/selftest/cases/wic.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'meta/lib/oeqa/selftest/cases') diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index eaec37dd14..00d1b64469 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -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)])) + -- cgit 1.2.3-korg