Hello Alexander, Richard,

Thanks for the feedback. Indeed my testing setup is quite minimal, so it may not
reflect how many files may be pulled in real cases.

On 6/7/23 11:20, Alexander Kanavin wrote:
> What might work better without code complications is testimage.bbclass
> setting only the minimum set (no ptests):
> 
> +TESTIMAGE_FAILED_QA_ARTIFACTS ??= "\
> +    ${localstatedir}/log \
> +    ${sysconfdir}/version \
> +    ${sysconfdir}/os-release \
> "
> 
> 
> Then core-image-ptest.bb should append "${libdir}/{MCNAME}/ptest" to
> that. As that same image recipe installs only a single ptest via
> IMAGE_INSTALL:append, and the artifacts are retrieved only if that
> ptest would fail, this would achieve the same outcome. Other images
> (which can potentially include many ptests) can then set what
> artifacts to retrieve themselves as they please.

I am not familiar with multiconfig, so I'll have to document myself before
trying what you suggest, especially to make sure it will not make the retriever
too dependant on a proper multiconfig definition.

Thanks,
Alexis
> 
> Alex
> 
> On Wed, 7 Jun 2023 at 10:49, Richard Purdie
> <richard.pur...@linuxfoundation.org> wrote:
>>
>> On Wed, 2023-06-07 at 10:30 +0200, Alexis Lothoré via
>> lists.openembedded.org wrote:
>>> Add a basic artifacts retrievers in testimage class which:
>>> - triggers when at least one runtime test fails but tests execution
>>>   encountered no major issue
>>> - reads a list of paths to retrieve from TESTIMAGE_FAILED_QA_ARTIFACTS
>>> - checks for artifacts presence on target
>>> - retrieve those files over scp thanks to existing ssh class
>>> - store those files in an "artifacts" directory in "tmp/log/oeqa/<image>"
>>>
>>> This implementation assumes that the SSH or Qemu target has run and
>>> finished gracefully. If tests do not finish because of an exception,
>>> artifacts will not be retrieved
>>>
>>> Bring partial solution to [YOCTO #14901]
>>>
>>> Signed-off-by: Alexis Lothoré <alexis.loth...@bootlin.com>
>>> ---
>>> Changes since v1:
>>> - only gather artifacts in nominal case (ie qemu runs without any raised
>>>   exception)
>>> - list artifacts directly in variable instead of using external file
>>> - use standard variables in artifacts paths
>>> - allow glob patterns usage in artifacts paths
>>> - expand/filter artifacts list on target before retrieving them
>>> - tune default artifacts list
>>> ---
>>>  meta/classes-recipe/testimage.bbclass | 49 +++++++++++++++++++++++++++
>>>  1 file changed, 49 insertions(+)
>>>
>>> diff --git a/meta/classes-recipe/testimage.bbclass 
>>> b/meta/classes-recipe/testimage.bbclass
>>> index b48cd96575d2..c6ce74a9e7a8 100644
>>> --- a/meta/classes-recipe/testimage.bbclass
>>> +++ b/meta/classes-recipe/testimage.bbclass
>>> @@ -18,6 +18,16 @@ inherit image-artifact-names
>>>
>>>  TESTIMAGE_AUTO ??= "0"
>>>
>>> +# When any test fails, TESTIMAGE_FAILED_QA ARTIFACTS will be parsed and for
>>> +# each entry in it, if artifact pointed by path description exists on 
>>> target,
>>> +# it will be retrieved onto host
>>> +
>>> +TESTIMAGE_FAILED_QA_ARTIFACTS ??= "\
>>> +    ${localstatedir}/log \
>>> +    ${sysconfdir}/version \
>>> +    ${sysconfdir}/os-release \
>>> +    ${libdir}/*/ptest"
>>
>> I know Alex Kanavin asked for this but I'm really not sure
>> ${libdir}/*/ptest is a great idea. This will effectively copy the
>> entire ptest package files for every ptest on the image. Now we split
>> ptests to different images it is less of an issue but it is still
>> potentially rather large. Could we at least limit it to failing ptests?
>>
>> Cheers,
>>
>> Richard
>>
>>
>>
>> 
>>

-- 
Alexis Lothoré, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#182472): 
https://lists.openembedded.org/g/openembedded-core/message/182472
Mute This Topic: https://lists.openembedded.org/mt/99380468/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to