[yocto] [patchtest-oe][PATCH] test_metadata_src_uri: new unittest detecting added patch files without modifying SRC_URI
akuster
akuster at mvista.com
Tue May 28 07:53:28 PDT 2019
On 5/27/19 6:00 PM, Changqing Li wrote:
> ping
>
> On 4/29/19 2:10 PM, Changqing Li wrote:
>> ping
>>
Does this mean you have a working knowledge of patchtest?
The one used by the project appears to be off line. Can you help?
kind regards,
Armin
>> On 3/5/19 5:59 PM, changqing.li at windriver.com wrote:
>>> From: Changqing Li <changqing.li at 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.plascencia at 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.li at 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)])
>>
More information about the yocto
mailing list