From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Chase Qi <chase.qi@linaro.org>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH v3] libc-test: add libc testsuite for musl
Date: Tue, 8 Nov 2022 20:50:39 +0100 [thread overview]
Message-ID: <Y2qzD8cb//AgUXco@mail.local> (raw)
In-Reply-To: <20221108034233.3452233-1-chase.qi@linaro.org>
Hello,
This fails with:
The following recipes do not have a maintainer assigned to them. Please add an entry to meta/conf/distro/include/maintainers.inc file.
libc-test (/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-core/musl/libc-test_git.bb)
On 08/11/2022 03:42:33+0000, Chase Qi wrote:
> libc-test is a collection of unit test to measure the correctness and
> robustness of a C/POSIX standard library implementation. It is developed
> as part of the musl project.
>
> Signed-off-by: Chase Qi <chase.qi@linaro.org>
> ---
> .../distro/include/ptest-packagelists.inc | 1 +
> meta/recipes-core/musl/libc-test/run-ptest | 28 ++++++++++
> meta/recipes-core/musl/libc-test_git.bb | 51 +++++++++++++++++++
> 3 files changed, 80 insertions(+)
> create mode 100644 meta/recipes-core/musl/libc-test/run-ptest
> create mode 100644 meta/recipes-core/musl/libc-test_git.bb
>
> diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
> index 32b0e5297a..3c9ff43bd9 100644
> --- a/meta/conf/distro/include/ptest-packagelists.inc
> +++ b/meta/conf/distro/include/ptest-packagelists.inc
> @@ -105,6 +105,7 @@ PTESTS_SLOW = "\
>
> PTESTS_SLOW:remove:riscv64 = "valgrind-ptest"
> PTESTS_PROBLEMS:append:riscv64 = "valgrind-ptest"
> +PTESTS_SLOW:append:libc-musl = " libc-test-ptest"
>
> # ruby-ptest \ # Timeout
> # lz4-ptest \ # Needs a rewrite
> diff --git a/meta/recipes-core/musl/libc-test/run-ptest b/meta/recipes-core/musl/libc-test/run-ptest
> new file mode 100644
> index 0000000000..0b4b687dec
> --- /dev/null
> +++ b/meta/recipes-core/musl/libc-test/run-ptest
> @@ -0,0 +1,28 @@
> +#!/bin/sh
> +
> +set -e
> +
> +cd /opt/libc-test
> +make cleanall
> +make run || true
> +
> +echo ""
> +echo "--- ptest result ---"
> +# libc-test runs tests by module(e.g. src/api) and generates sub-module test
> +# report(e.g. src/api/REPORT) first. After all tests finish, it generates the
> +# consolidated report file src/REPORT.
> +report="/opt/libc-test/src/REPORT"
> +if ! [ -f "${report}" ]; then
> + echo "${report} not found!"
> + echo "FAIL: libc-test"
> + exit 1
> +# libc-test prints error on failure and prints nothing on success.
> +elif grep -q '^FAIL src.*\.exe.*' "${report}"; then
> + # Print test failure in ptest format.
> + # e.g. "FAIL src/api/main.exe [status 1]" -> "FAIL: api_main"
> + grep '^FAIL src.*\.exe.*' "${report}" \
> + | sed 's|^FAIL src/|FAIL: |;s|/|_|;s|\.exe.*\]||'
> + exit 1
> +else
> + echo "PASS: libc-test"
> +fi
> diff --git a/meta/recipes-core/musl/libc-test_git.bb b/meta/recipes-core/musl/libc-test_git.bb
> new file mode 100644
> index 0000000000..b5bfc6e34c
> --- /dev/null
> +++ b/meta/recipes-core/musl/libc-test_git.bb
> @@ -0,0 +1,51 @@
> +SUMMARY = "Musl libc unit tests"
> +HOMEPAGE = "https://wiki.musl-libc.org/libc-test.html"
> +DESCRIPTION = "libc-test is a collection of unit tests to measure the \
> +correctness and robustness of a C/POSIX standard library implementation. It is \
> +developed as part of the musl project."
> +SECTION = "tests"
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=43ed1245085be90dc934288117d55a3b"
> +
> +inherit ptest
> +
> +SRCREV = "18e28496adee3d84fefdda6efcb9c5b8996a2398"
> +SRC_URI = " \
> + git://repo.or.cz/libc-test;branch=master \
> + file://run-ptest \
> +"
> +
> +PV = "0+git${SRCPV}"
> +
> +S = "${WORKDIR}/git"
> +
> +# libc-test 'make' or 'make run' command is designed to build and run tests. It
> +# reports both build and test failures. The commands should be run on target.
> +do_compile() {
> + :
> +}
> +
> +RDEPENDS:${PN} = " \
> + bash \
> + grep \
> + musl \
> + packagegroup-core-buildessential \
> +"
> +
> +RDEPENDS:${PN}-ptest = " \
> + ${PN} \
> + sed \
> +"
> +
> +install_path = "/opt/${PN}"
> +FILES:${PN} += "${install_path}/*"
> +
> +do_install () {
> + install -d ${D}${install_path}/
> + cp ${S}/Makefile ${D}${install_path}
> + cp ${S}/config.mak.def ${D}${install_path}/config.mak
> + cp -r ${S}/src ${D}${install_path}
> +}
> +
> +COMPATIBLE_HOST = "null"
> +COMPATIBLE_HOST:libc-musl = "(.*)"
> --
> 2.25.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#172948): https://lists.openembedded.org/g/openembedded-core/message/172948
> Mute This Topic: https://lists.openembedded.org/mt/94883839/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
next prev parent reply other threads:[~2022-11-08 19:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-08 3:42 [PATCH v3] libc-test: add libc testsuite for musl Chase Qi
2022-11-08 19:50 ` Alexandre Belloni [this message]
2022-11-09 6:50 ` [OE-core] " Chase Qi
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=Y2qzD8cb//AgUXco@mail.local \
--to=alexandre.belloni@bootlin.com \
--cc=chase.qi@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox