[yocto] [patchtest-oe][PATCH] test_metadata_src_uri: new unittest detecting added patch files without modifying SRC_URI

Changqing Li changqing.li at windriver.com
Tue May 28 19:28:55 PDT 2019


On 5/28/19 10:53 PM, akuster wrote:
>
> 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

I have do some work on this,  and can try to help,  but I don't have

access right of the server,  and I also don't have the admin account of

the patchwork.  if  someone can  provide these info,  I am glad to help.

>>> 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)])
>
-- 
BRs

Sandy(Li Changqing)



More information about the yocto mailing list