From: Changqing Li <changqing...@windriver.com> Adds new unittest detecting when a patch file is added but no corresponding change to the SRC_URI is done.
This patch is from <daniela.plascen...@linux.intel.com>, get from commit 49201c19cfe4cadd127b112d2858d5b28db49c20, this commit is reverted by commit 6108d97f83b211f9eb245f339a412debd0ec5db4. The added test case is ok, reason of series 9949 patchtest failed is: recipe weston have REQUIRED_DISTRO_FEATURES, so parse recipe skipped, cause self.modified is none, actually .bb is mofified, so make the testcase failed. during patchtest, we don't really need DISTRO_FEATURES, so fix the problem by set REQUIRED_DISTRO_FEATURES to "" in repo patchtest, meantime, add this testcase back. [Yocto #13005] Signed-off-by: Changqing Li <changqing...@windriver.com> --- tests/test_metadata_src_uri.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/test_metadata_src_uri.py b/tests/test_metadata_src_uri.py index a4c5caa..f684ced 100644 --- a/tests/test_metadata_src_uri.py +++ b/tests/test_metadata_src_uri.py @@ -85,3 +85,28 @@ class SrcUri(base.Metadata): 'Amend the patch containing the software patch file removal', data=[('Patch', f) for f in not_removed]) + def test_src_uri_path_not_updated(self): + new_patches = set() + for patch in self.patchset: + if patch.is_added_file and patch.path.endswith('.patch'): + new_patches.add(os.path.basename(patch.path)) + + if not new_patches: + self.skip('No new patches added, skipping test') + + if not self.modified: + self.fail('New patch path missing in SRC_URI', + "Add the patch path to the recipe's SRC_URI", + data=[('New patch(es)', '\n'.join(new_patches))]) + + for pn in self.modified: + rd = self.tinfoil.parse_recipe(pn) + + patchtestdata.PatchTestDataStore['%s-%s-%s' % (self.shortid(), self.metadata, pn)] = rd.getVar(self.metadata) + test_src_uri = patchtestdata.PatchTestDataStore['%s-%s-%s' % (self.shortid(), self.metadata, pn)].split() + test_files = set([os.path.basename(patch) for patch in test_src_uri if patch.startswith('file://')]) + + if not test_files.issuperset(new_patches): + self.fail('New patch path missing in SRC_URI', + "Add the patch path in the recipe's SRC_URI", + data=[('New patch(es)', p) for p in new_patches.difference(test_files)]) -- 2.7.4 -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto