All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Mikko Rapeli <mikko.rapeli@linaro.org>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH 0/2] image specific configuration with oeqa runtime tests
Date: Thu, 17 Nov 2022 16:57:36 +0000	[thread overview]
Message-ID: <4f16ed270c2b979839830929c703494d221b2228.camel@linuxfoundation.org> (raw)
In-Reply-To: <Y3ZVup8YKv6LQzuF@nuoska>

On Thu, 2022-11-17 at 17:39 +0200, Mikko Rapeli wrote:
> Hi,
> 
> On Thu, Nov 17, 2022 at 03:17:43PM +0000, Richard Purdie wrote:
> > On Thu, 2022-11-17 at 09:12 +0200, Mikko Rapeli wrote:
> > > Many runtime tests would need customization for different
> > > machines and images. Currently some tests like parselogs.py are hard
> > > coding machine specific exceptions into the test itself. I think these
> > > machine specific exceptions fit better as image specific ones, since a
> > > single machine config can generate multiple images which behave
> > > differently. Thus create a "testimage_data.json" file format which image
> > > recipes can deploy. This is then used by tests like parselogs.py to find
> > > the image specific exception list.
> > > 
> > > Same approach would fit other runtime tests too. For example systemd
> > > tests could include a test case which checks that an image specific list of
> > > services are running.
> > > 
> > > I don't know how this data storage would be used with SDK or selftests,
> > > but maybe it could work there too with some small tweaks.
> > > 
> > > Mikko Rapeli (2):
> > >   oeqa: add utils/data.py with get_data() function
> > >   oeqa parselogs.py: use get_data() to fetch image specific error list
> > > 
> > >  meta/lib/oeqa/runtime/cases/parselogs.py | 17 +++++++---
> > >  meta/lib/oeqa/utils/data.py              | 41 ++++++++++++++++++++++++
> > >  2 files changed, 54 insertions(+), 4 deletions(-)
> > >  create mode 100644 meta/lib/oeqa/utils/data.py
> > 
> > This patch looks like it is one side of the equation, i.e. importing
> > the data into the tests. How does the data get into the deploy
> > directory in the first place? I assume there are other patches which do
> > that?
> 
> Patches in other layers do that, yes.
> 
> > We have a bit of contention with two approaches to data management in
> > OEQA. One is where the runtime tests are directly run against an image,
> > in which case the datastore is available. You could therefore have
> > markup in the recipe as normal variables and access them directly in
> > the tests.
> 
> My use case is running tests right after build, but I would like to export
> them to execute later as well.

When you execute later, are you going to use testexport or will the
metadata still be available? As I mentioned, removing testexport would
be desirable for a number of reasons but I suspect there are people who
might want it.
> 

> > The second is the "testexport" approach where the tests are run without
> > the main metadata. I know Ross and I would like to see testexport
> > dropped as it complicates things and is a pain.
> > 
> > This new file "feels" a lot like more extensions in the testexport
> > direction and I'm not sure we need to do that. Could we handle this
> > with more markup in the image recipe?
> 
> For simple variables this would do but how about a long list of strings
> like poky/meta/lib/oeqa/runtime/cases/parselogs.py:
> 
> common_errors = [
>     "(WW) warning, (EE) error, (NI) not implemented, (??) unknown.",
>     "dma timeout",
>     "can\'t add hid device:",
>     "usbhid: probe of ",
>     "_OSC failed (AE_ERROR)",
>     "_OSC failed (AE_SUPPORT)",
>     "AE_ALREADY_EXISTS",
>     "ACPI _OSC request failed (AE_SUPPORT)",
>     "can\'t disable ASPM",
>     "Failed to load module \"vesa\"",
>     "Failed to load module vesa",
>     "Failed to load module \"modesetting\"",
>     "Failed to load module modesetting",
>     "Failed to load module \"glx\"",
>     "Failed to load module \"fbdev\"",
>     "Failed to load module fbdev",
>     "Failed to load module glx"
> ]
> 
> Embed json into a bitbake variable? Or embed directly as python code?

I've wondered if we could add some new syntax to bitbake to support
this somehow, does anyone have any ideas to propose?

I'd wondered about both python data and/or json format (at which point
someone will want yaml :/).

Cheers,

Richard


  reply	other threads:[~2022-11-17 16:57 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-17  7:12 [PATCH 0/2] image specific configuration with oeqa runtime tests Mikko Rapeli
2022-11-17  7:12 ` [PATCH 1/2] oeqa: add utils/data.py with get_data() function Mikko Rapeli
2022-11-17  7:12 ` [PATCH 2/2] oeqa parselogs.py: use get_data() to fetch image specific error list Mikko Rapeli
2022-11-17 14:22 ` [OE-core] [PATCH 0/2] image specific configuration with oeqa runtime tests Alexandre Belloni
2022-11-17 14:28   ` Mikko Rapeli
2022-11-17 15:17 ` Richard Purdie
2022-11-17 15:39   ` Mikko Rapeli
2022-11-17 16:57     ` Richard Purdie [this message]
2022-11-18 14:32       ` Mikko Rapeli
2022-11-18 15:04         ` Richard Purdie
2022-11-18 15:57           ` Mikko Rapeli
2022-11-18 16:04             ` Richard Purdie
2022-11-18 16:09               ` Mikko Rapeli
2022-11-18 16:11             ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4f16ed270c2b979839830929c703494d221b2228.camel@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=mikko.rapeli@linaro.org \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.