Message ID | 20221108034233.3452233-1-chase.qi@linaro.org |
---|---|
State | New |
Headers | show |
Series | [v3] libc-test: add libc testsuite for musl | expand |
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] > -=-=-=-=-=-=-=-=-=-=-=- >
Hi Alexandre, On Wed, 9 Nov 2022 at 03:50, Alexandre Belloni <alexandre.belloni@bootlin.com> wrote: > > 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) > Thanks for pointing this out. I have sent v4. I added myself as the maintainer of the recipe. I am fine to change it to any of the oe-core core maintainers if that makes more sense. - Chase > 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
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 = "(.*)"
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