summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/rootfs-postcommands.bbclass10
-rw-r--r--meta/lib/oeqa/selftest/cases/overlayfs.py20
2 files changed, 27 insertions, 3 deletions
diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass
index 7b92df69c5..9b6824043c 100644
--- a/meta/classes/rootfs-postcommands.bbclass
+++ b/meta/classes/rootfs-postcommands.bbclass
@@ -398,6 +398,10 @@ python overlayfs_qa_check() {
398 398
399 allUnitExist = True; 399 allUnitExist = True;
400 for mountPoint in overlayMountPoints: 400 for mountPoint in overlayMountPoints:
401 qaSkip = (d.getVarFlag("OVERLAYFS_QA_SKIP", mountPoint) or "").split()
402 if "mount-configured" in qaSkip:
403 continue
404
401 mountPath = d.getVarFlag('OVERLAYFS_MOUNT_POINT', mountPoint) 405 mountPath = d.getVarFlag('OVERLAYFS_MOUNT_POINT', mountPoint)
402 if mountPath in fstabDevices: 406 if mountPath in fstabDevices:
403 continue 407 continue
@@ -407,8 +411,10 @@ python overlayfs_qa_check() {
407 for dirpath in searchpaths): 411 for dirpath in searchpaths):
408 continue 412 continue
409 413
410 bb.warn('Mount path %s not found in fstat and unit %s not found ' 414 bb.warn(f'Mount path {mountPath} not found in fstab and unit '
411 'in systemd unit directories' % (mountPath, mountUnit)) 415 f'{mountUnit} not found in systemd unit directories.')
416 bb.warn(f'Skip this check by setting OVERLAYFS_QA_SKIP[{mountPoint}] = '
417 '"mount-configured"')
412 allUnitExist = False; 418 allUnitExist = False;
413 419
414 if not allUnitExist: 420 if not allUnitExist:
diff --git a/meta/lib/oeqa/selftest/cases/overlayfs.py b/meta/lib/oeqa/selftest/cases/overlayfs.py
index 472746a64f..ce1d2f1ec3 100644
--- a/meta/lib/oeqa/selftest/cases/overlayfs.py
+++ b/meta/lib/oeqa/selftest/cases/overlayfs.py
@@ -62,11 +62,29 @@ DISTRO_FEATURES += "systemd overlayfs"
62 self.add_overlay_conf_to_machine() 62 self.add_overlay_conf_to_machine()
63 63
64 res = bitbake('core-image-minimal', ignore_status=True) 64 res = bitbake('core-image-minimal', ignore_status=True)
65 line = getline(res, " Mount path /mnt/overlay not found in fstat and unit mnt-overlay.mount not found in systemd unit directories") 65 line = getline(res, " Mount path /mnt/overlay not found in fstab and unit mnt-overlay.mount not found in systemd unit directories")
66 self.assertTrue(line and line.startswith("WARNING:"), msg=res.output) 66 self.assertTrue(line and line.startswith("WARNING:"), msg=res.output)
67 line = getline(res, "Not all mount paths and units are installed in the image") 67 line = getline(res, "Not all mount paths and units are installed in the image")
68 self.assertTrue(line and line.startswith("ERROR:"), msg=res.output) 68 self.assertTrue(line and line.startswith("ERROR:"), msg=res.output)
69 69
70 def test_not_all_units_installed_but_qa_skipped(self):
71 """
72 Summary: Test skipping the QA check
73 Expected: Image is created successfully
74 Author: Claudius Heine <ch@denx.de>
75 """
76
77 config = """
78IMAGE_INSTALL:append = " overlayfs-user"
79DISTRO_FEATURES += "systemd overlayfs"
80OVERLAYFS_QA_SKIP[mnt-overlay] = "mount-configured"
81"""
82
83 self.write_config(config)
84 self.add_overlay_conf_to_machine()
85
86 bitbake('core-image-minimal')
87
70 def test_mount_unit_not_set(self): 88 def test_mount_unit_not_set(self):
71 """ 89 """
72 Summary: Test whether mount unit was set properly 90 Summary: Test whether mount unit was set properly