Hi Ross,

Ross Burton <[email protected]> escreveu no dia segunda, 21/02/2022 à(s)
14:24:

> There are *so many* limitations of qemu-user I'm not sure this is
> actually useful.
>
> (speaking as someone who tried this with Python a while ago).
>

Can you please point me to your previous work if it is public,
I would like to see what has already been done in this regard.


> What recipes has this successfully worked on?
>

It works on pulseaudio that has only one test and some others that I don't
remember now,
but the tests run successfully only when there are few.
I use it extensively with gstreamer and the failures is mainly because of
files that are not
found inside the qemu user mode.

I think that this feature is useful for some other people, it helps me a
lot in debug some tests in gstreamer.
Anyway the feature is disabled by default so for sure it will
not introduce any regression on OE-core.

Jose


>
> Ross
>
> On Mon, 21 Feb 2022 at 08:51, Jose Quaresma <[email protected]>
> wrote:
> >
> > The generic exe_wrapper introcuced in 40349dc5 can be used to run the
> > meson tests when build the receipe. This patch add the meson_test task
> > on the meson bbclass that adds this possibility.
> >
> > The exe_wrapper will run using the qemu usermode and because of that it
> > has some limitations, so don't expect the same results when it runs
> > natively on target.
> >
> > Running the tests at build time is upstream way for testing but is not
> > possible in OE as we always croos-compile. This can be useful in some
> > integration processes and for debuging and it adds the possibility to
> > run the test in an interactive way using the devtool build for example.
> >
> > There are two variable for that:
> >  MESON_QEMU_WRAPPER_TEST_ENABLED: this enables the test when it's "1"
> >  EXTRA_OEMESON_TEST: this is used to add extra args
> >
> > Some results when using this patch in the bigest meson project
> > on OE-core are the folloing:
> >
> > cat <<'EOF' >>conf/local.conf
> > MESON_QEMU_WRAPPER_TEST_ENABLED:pn-systemd-boot = "1"
> > EOF
> >
> > bitbake -c do_meson_test -v systemd-boot
> >
> > Ok:                 821
> > Expected Fail:      0
> > Fail:               95
> > Unexpected Pass:    0
> > Skipped:            33
> > Timeout:            0
> >
> > cat <<'EOF' >>conf/local.conf
> > MESON_QEMU_WRAPPER_TEST_ENABLED:pn-glib-2.0 = "1"
> > EOF
> >
> > bitbake -c do_meson_test -v glib-2.0
> >
> > Ok:                 197
> > Expected Fail:      0
> > Fail:               76
> > Unexpected Pass:    0
> > Skipped:            0
> > Timeout:            2
> >
> > cat <<'EOF' >>conf/local.conf
> > MESON_QEMU_WRAPPER_TEST_ENABLED:pn-gstreamer1.0 = "1"
> > EOF
> >
> > bitbake -c do_meson_test -v gstreamer1.0
> >
> > Ok:                 95
> > Expected Fail:      0
> > Fail:               10
> > Unexpected Pass:    0
> > Skipped:            1
> > Timeout:            0
> >
> > Signed-off-by: Jose Quaresma <[email protected]>
> > ---
> >  meta/classes/meson.bbclass | 16 ++++++++++++++++
> >  1 file changed, 16 insertions(+)
> >
> > diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass
> > index 0bfe945811..020a59a3c0 100644
> > --- a/meta/classes/meson.bbclass
> > +++ b/meta/classes/meson.bbclass
> > @@ -179,3 +179,19 @@ meson_do_install() {
> >  }
> >
> >  EXPORT_FUNCTIONS do_configure do_compile do_install
> > +
> > +EXTRA_OEMESON_TEST ?= ""
> > +
> > +do_meson_test() {
> > +    bbwarn "don't expect the same results when it runs natively as it
> will run in qemu usermode (that has its own limitations)"
> > +    meson test -C ${B} ${EXTRA_OEMESON_TEST}
> > +}
> > +do_meson_test[vardeps] += "EXTRA_OEMESON_TEST"
> > +
> > +MESON_QEMU_WRAPPER_RUNTEST = ""
> > +MESON_QEMU_WRAPPER_RUNTEST:class-target =
> "${@d.getVar('MESON_QEMU_WRAPPER_TEST_ENABLED') == '1' and
> d.getVar('EXEWRAPPER_ENABLED') == 'True'}"
> > +
> > +python() {
> > +    if d.getVar('MESON_QEMU_WRAPPER_RUNTEST') == 'True':
> > +       bb.build.addtask('meson_test', 'do_install', 'do_compile', d)
> > +}
> > --
> > 2.35.1
> >
> >
> > 
> >
>


-- 
Best regards,

José Quaresma
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#162055): 
https://lists.openembedded.org/g/openembedded-core/message/162055
Mute This Topic: https://lists.openembedded.org/mt/89289917/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to