aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/selftest/wic.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oeqa/selftest/wic.py')
-rw-r--r--meta/lib/oeqa/selftest/wic.py25
1 files changed, 21 insertions, 4 deletions
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index dcb88bacad..825312e5a5 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -381,11 +381,28 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r
self.assertEqual(0, runCmd("dd if=%s of=%s skip=%d count=%d" %
(wicimg, part_file, start, length)).status)
+ def extract_files(debugfs_output):
+ # extract file names from the output of debugfs -R 'ls -p',
+ # which looks like this:
+ #
+ # /2/040755/0/0/.//\n
+ # /2/040755/0/0/..//\n
+ # /11/040700/0/0/lost+found^M//\n
+ # /12/040755/1002/1002/run//\n
+ # /13/040755/1002/1002/sys//\n
+ # /14/040755/1002/1002/bin//\n
+ # /80/040755/1002/1002/var//\n
+ # /92/040755/1002/1002/tmp//\n
+ #
+ # NOTE the occasional ^M in file names
+ return [line.split('/')[5].strip() for line in \
+ debugfs_output.strip().split('/\n')]
+
# Test partition 1, should contain the normal root directories, except
# /usr.
res = runCmd("debugfs -R 'ls -p' %s 2>/dev/null" % os.path.join(self.resultdir, "selftest_img.part1"))
self.assertEqual(0, res.status)
- files = [line.split('/')[5] for line in res.output.split('\n')]
+ files = extract_files(res.output)
self.assertIn("etc", files)
self.assertNotIn("usr", files)
@@ -393,7 +410,7 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r
# directories.
res = runCmd("debugfs -R 'ls -p' %s 2>/dev/null" % os.path.join(self.resultdir, "selftest_img.part2"))
self.assertEqual(0, res.status)
- files = [line.split('/')[5] for line in res.output.split('\n')]
+ files = extract_files(res.output)
self.assertNotIn("etc", files)
self.assertNotIn("usr", files)
self.assertIn("share", files)
@@ -402,14 +419,14 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r
# directory, but not the files inside it.
res = runCmd("debugfs -R 'ls -p' %s 2>/dev/null" % os.path.join(self.resultdir, "selftest_img.part3"))
self.assertEqual(0, res.status)
- files = [line.split('/')[5] for line in res.output.split('\n')]
+ files = extract_files(res.output)
self.assertNotIn("etc", files)
self.assertNotIn("usr", files)
self.assertIn("share", files)
self.assertIn("bin", files)
res = runCmd("debugfs -R 'ls -p bin' %s 2>/dev/null" % os.path.join(self.resultdir, "selftest_img.part3"))
self.assertEqual(0, res.status)
- files = [line.split('/')[5] for line in res.output.split('\n')]
+ files = extract_files(res.output)
self.assertIn(".", files)
self.assertIn("..", files)
self.assertEqual(2, len(files))