Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Martin Hundeb?ll <martin@geanix.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH 2/3] ell: add ptest
Date: Tue, 18 Jun 2024 17:54:07 +0200	[thread overview]
Message-ID: <20240618155407952cbb51@mail.local> (raw)
In-Reply-To: <20240617133643.1856546-2-martin@geanix.com>

Hello,

I didn't test v2 but I guess it was not updated. This caused
reproducibility issues:

https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20240618-sbhq7ol0/packages/diff-html/

and ptest failures:

{'ell': ['test-dbus', 'test-dbus-message-fds', 'test-dbus-properties']}

https://autobuilder.yoctoproject.org/typhoon/#/builders/82/builds/6547/steps/13/logs/stdio
https://autobuilder.yocto.io/pub/non-release/20240618-14/testresults/qemuarm64-ptest/ell.log

https://autobuilder.yoctoproject.org/typhoon/#/builders/81/builds/6725/steps/12/logs/stdio
https://autobuilder.yocto.io/pub/non-release/20240618-14/testresults/qemux86-64-ptest/ell.log


On 17/06/2024 15:36:41+0200, Martin Hundeb?ll wrote:
> Depends on  openssl-native and xxd-native to allow generating
> certificates used for testing.
> 
> Create the ${B}/unit dir as that seems to be missing with the automake
> patches used for building tests separately from running them.
> 
> In order to build the test cases, both --enable-tests and
> --enable-maintainer-mode must be passed to configure.
> 
> A few unit tests looks for files in ../ell-0.66/unit (i.e. $(top_srcdir)
> in automake) when running. Instead of playing games with symlinks or
> install paths, the "correct" path is just (re)defined in CFLAGS.
> 
> A (submitted) patch is added to make dbus-server run correctly when
> testing with "nonetwork" passed to runqemu.
> 
> Skip a few tests that require additional kernel modules to be enabled.
> 
> Test execution time is about 10 seconds.
> 
> Signed-off-by: Martin Hundeb�ll <martin@geanix.com>
> ---
>  .../distro/include/ptest-packagelists.inc     |  1 +
>  meta/recipes-core/ell/ell_0.66.bb             | 25 ++++++++++--
>  ...-specify-tcp-hostname-in-dbus-config.patch | 38 +++++++++++++++++++
>  meta/recipes-core/ell/files/run-ptest         | 23 +++++++++++
>  4 files changed, 84 insertions(+), 3 deletions(-)
>  create mode 100644 meta/recipes-core/ell/files/0001-unit-don-t-specify-tcp-hostname-in-dbus-config.patch
>  create mode 100644 meta/recipes-core/ell/files/run-ptest
> 
> diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
> index da6fa6ee9723..c60575a45cc2 100644
> --- a/meta/conf/distro/include/ptest-packagelists.inc
> +++ b/meta/conf/distro/include/ptest-packagelists.inc
> @@ -15,6 +15,7 @@ PTESTS_FAST = "\
>      cpio \
>      diffstat \
>      diffutils \
> +    ell \
>      ethtool \
>      expat \
>      expect \
> diff --git a/meta/recipes-core/ell/ell_0.66.bb b/meta/recipes-core/ell/ell_0.66.bb
> index 899e2f684936..d53db2edc189 100644
> --- a/meta/recipes-core/ell/ell_0.66.bb
> +++ b/meta/recipes-core/ell/ell_0.66.bb
> @@ -10,9 +10,28 @@ SECTION = "libs"
>  LICENSE  = "LGPL-2.1-only"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
>  
> -DEPENDS = "dbus"
> +DEPENDS = "dbus openssl-native xxd-native"
>  
> -inherit autotools pkgconfig
> +inherit autotools pkgconfig ptest
>  
> -SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz"
> +SRC_URI = " \
> +    https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \
> +    file://0001-unit-don-t-specify-tcp-hostname-in-dbus-config.patch \
> +    file://run-ptest \
> +"
>  SRC_URI[sha256sum] = "7a78b757080ed6518c1c4fa26ad6a7a3d6e4e385386a20b6fb52379e7d1ffa36"
> +
> +EXTRA_OECONF += "--enable-tests --enable-maintainer-mode"
> +CFLAGS += "-UUNITDIR -DUNITDIR="\\"./unit/\\"""
> +
> +do_compile:prepend() {
> +    mkdir -p ${B}/unit
> +}
> +
> +do_install_ptest() {
> +    install -m755 -Dt ${D}${PTEST_PATH} $(find ${B}/unit -executable -type f)
> +    install -Dt ${D}${PTEST_PATH}/unit \
> +        ${S}/unit/dbus.conf \
> +        ${S}/unit/settings.test \
> +        $(find ${B}/unit -name \*.pem -type f)
> +}
> diff --git a/meta/recipes-core/ell/files/0001-unit-don-t-specify-tcp-hostname-in-dbus-config.patch b/meta/recipes-core/ell/files/0001-unit-don-t-specify-tcp-hostname-in-dbus-config.patch
> new file mode 100644
> index 000000000000..328e51683215
> --- /dev/null
> +++ b/meta/recipes-core/ell/files/0001-unit-don-t-specify-tcp-hostname-in-dbus-config.patch
> @@ -0,0 +1,38 @@
> +From d5ebbb5ea68848c5fad5517adf2f885de142a66e Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Martin=20Hundeb=C3=B8ll?= <martin@geanix.com>
> +Date: Mon, 17 Jun 2024 14:14:03 +0200
> +Subject: [PATCH] unit: don't specify tcp hostname in dbus config
> +To: ell@lists.linux.dev
> +
> +Testing dbus with no network interfaces available on the host fails
> +with:
> +  dbus-daemon[291]: Failed to start message bus: Failed to lookup host/port: "*:14046": Name or service not known (-2)
> +
> +Seems like "*" isn't a valid hostname in such cases:
> +  https://bugs.freedesktop.org/show_bug.cgi?id=28979
> +
> +According to the linked issue, the fix is to simply omit the host= and
> +bind= parameters in the config.
> +
> +Signed-off-by: Martin Hundeb�ll <martin@geanix.com>
> +Upstream-Status: Submitted [https://lore.kernel.org/ell/20240617122939.1249697-1-martin@geanix.com/]
> +---
> + unit/dbus.conf | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/unit/dbus.conf b/unit/dbus.conf
> +index 5fe41a9ad6a6..3651e44538b1 100644
> +--- a/unit/dbus.conf
> ++++ b/unit/dbus.conf
> +@@ -7,7 +7,7 @@
> +   <allow_anonymous />
> + 
> +   <listen>unix:path=/tmp/ell-test-bus</listen>
> +-  <listen>tcp:host=localhost,bind=*,port=14046,family=ipv4</listen>
> ++  <listen>tcp:port=14046</listen>
> +   <apparmor mode="disabled" />
> + 
> +   <policy context="default">
> +-- 
> +2.45.2
> +
> diff --git a/meta/recipes-core/ell/files/run-ptest b/meta/recipes-core/ell/files/run-ptest
> new file mode 100644
> index 000000000000..5b3acdd98b8a
> --- /dev/null
> +++ b/meta/recipes-core/ell/files/run-ptest
> @@ -0,0 +1,23 @@
> +#!/bin/sh
> +
> +ret_val=0
> +
> +for test in test-*; do
> +    case "$test" in
> +        test-pem | test-key)
> +            if ! [ -d /sys/module/pkcs8_key_parser ]; then
> +                echo "SKIP: $test"
> +                continue
> +            fi
> +            ;;
> +    esac
> +
> +    if "./$test" >> ell_test.log 2>&1; then
> +        echo "PASS: $test"
> +    else
> +        echo "FAIL: $test"
> +        ret_val=1
> +    fi
> +done
> +
> +exit $ret_val
> -- 
> 2.45.2
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#200839): https://lists.openembedded.org/g/openembedded-core/message/200839
> Mute This Topic: https://lists.openembedded.org/mt/106720607/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


  reply	other threads:[~2024-06-18 15:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-17 13:36 [PATCH 1/3] ofono: upgrade 2.7 -> 2.8 Martin Hundebøll
2024-06-17 13:36 ` [PATCH 2/3] ell: add ptest Martin Hundebøll
2024-06-18 15:54   ` Alexandre Belloni [this message]
     [not found]   ` <17DA243CAF230652.27929@lists.openembedded.org>
2024-06-18 16:53     ` [OE-core] " Alexandre Belloni
2024-06-17 13:36 ` [PATCH 3/3] ofono: add ptests Martin Hundebøll
2024-06-18  7:31   ` [OE-core] " Alexandre Belloni

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=20240618155407952cbb51@mail.local \
    --to=alexandre.belloni@bootlin.com \
    --cc=martin@geanix.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox