summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChee Yang Lee <chee.yang.lee@intel.com>2023-02-24 12:00:56 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-02-24 17:05:21 +0000
commit237c1b66e5014123c1e5c3e78f9ab0357bcd62dc (patch)
treeb668961575ab3de12285577959b24cd1170beafb
parent0fd3a9c13a30a67ccef6619627efd9613755a0c3 (diff)
downloadopenembedded-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>
-rw-r--r--scripts/lib/checklayer/cases/common.py15
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: