diff options
author | Chee Yang Lee <chee.yang.lee@intel.com> | 2023-02-24 12:00:56 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-02-24 17:05:21 +0000 |
commit | 237c1b66e5014123c1e5c3e78f9ab0357bcd62dc (patch) | |
tree | b668961575ab3de12285577959b24cd1170beafb /scripts/lib/checklayer | |
parent | 0fd3a9c13a30a67ccef6619627efd9613755a0c3 (diff) | |
download | openembedded-core-237c1b66e5014123c1e5c3e78f9ab0357bcd62dc.tar.gz |
checklayer: check for patch file upstream status
yocto-check-layer to check all .patch file in layer for
Upstream-status and list down all .patch file without Upstream-Status.
set this test as expected failure for now, so this wont fail the check
layer while still able to capture any patches with malformed or missing
Upstream-Status in report.
[YOCTO #14642]
Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/checklayer')
-rw-r--r-- | scripts/lib/checklayer/cases/common.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/scripts/lib/checklayer/cases/common.py b/scripts/lib/checklayer/cases/common.py index 722d3cf638..97b16f78c8 100644 --- a/scripts/lib/checklayer/cases/common.py +++ b/scripts/lib/checklayer/cases/common.py @@ -72,6 +72,21 @@ class CommonCheckLayer(OECheckLayerTestCase): self.tc.layer['name']) self.fail('\n'.join(msg)) + @unittest.expectedFailure + def test_patches_upstream_status(self): + import sys + sys.path.append(os.path.join(sys.path[0], '../../../../meta/lib/')) + import oe.qa + patches = [] + for dirpath, dirs, files in os.walk(self.tc.layer['path']): + for filename in files: + if filename.endswith(".patch"): + ppath = os.path.join(dirpath, filename) + if oe.qa.check_upstream_status(ppath): + patches.append(ppath) + self.assertEqual(len(patches), 0 , \ + msg="Found following patches with malformed or missing upstream status:\n%s" % '\n'.join([str(patch) for patch in patches])) + def test_signatures(self): if self.tc.layer['type'] == LayerType.SOFTWARE and \ not self.tc.test_software_layer_signatures: |