diff mbox series

[meta-oe,V1] cpio: add ptest

Message ID 1667352933-9298-1-git-send-email-yanxk.fnst@fujitsu.com
State New
Headers show
Series [meta-oe,V1] cpio: add ptest | expand

Commit Message

yanxk.fnst@fujitsu.com Nov. 2, 2022, 1:35 a.m. UTC
From: Yan <yanxk.fnst@fujitsu.com>

enable the ptest function for cpio.

cpio takes 1 second maybe less, so it is fast.

you will get ptest result like this:

PASS: symlink
SKIP: symlink-bad-length
......

Signed-off-by: Yan <yanxk.fnst@fujitsu.com>
---
 .../distro/include/ptest-packagelists.inc     |  1 +
 .../recipes-extended/cpio/cpio-2.13/run-ptest | 10 ++++++++++
 meta/recipes-extended/cpio/cpio_2.13.bb       | 19 ++++++++++++++++++-
 3 files changed, 29 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-extended/cpio/cpio-2.13/run-ptest

Comments

Luca Ceresoli Feb. 7, 2023, 5:26 p.m. UTC | #1
Hello Yan,

On Wed, 2 Nov 2022 09:35:33 +0800
        ^^^^^^^^^^

Not sure where this data comes from... :)

"Yan Xin Kuan" <yanxk.fnst@fujitsu.com> wrote:

> From: Yan <yanxk.fnst@fujitsu.com>
> 
> enable the ptest function for cpio.
> 
> cpio takes 1 second maybe less, so it is fast.
> 
> you will get ptest result like this:
> 
> PASS: symlink
> SKIP: symlink-bad-length
> ......
> 
> Signed-off-by: Yan <yanxk.fnst@fujitsu.com>

Autobuilder testing with this patch generated lots of warnings:

  WARNING: cpio-2.13-r0 do_package_qa: QA Issue: File
  /usr/lib/cpio/ptest/tests/atconfig in package cpio-ptest contains reference to TMPDIR

Here are a few logs:

https://autobuilder.yoctoproject.org/typhoon/#/builders/96/builds/4375/steps/12/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/6685/steps/12/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/104/builds/5526/steps/12/logs/stdio

More at:

https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/4894
Luca Ceresoli Feb. 7, 2023, 5:43 p.m. UTC | #2
Hello Yan,

On Tue, 7 Feb 2023 18:26:27 +0100
"Luca Ceresoli via lists.openembedded.org"
<luca.ceresoli=bootlin.com@lists.openembedded.org> wrote:

> Hello Yan,
> 
> On Wed, 2 Nov 2022 09:35:33 +0800
>         ^^^^^^^^^^
> 
> Not sure where this data comes from... :)
> 
> "Yan Xin Kuan" <yanxk.fnst@fujitsu.com> wrote:
> 
> > From: Yan <yanxk.fnst@fujitsu.com>
> > 
> > enable the ptest function for cpio.
> > 
> > cpio takes 1 second maybe less, so it is fast.
> > 
> > you will get ptest result like this:
> > 
> > PASS: symlink
> > SKIP: symlink-bad-length
> > ......
> > 
> > Signed-off-by: Yan <yanxk.fnst@fujitsu.com>  
> 
> Autobuilder testing with this patch generated lots of warnings:
> 
>   WARNING: cpio-2.13-r0 do_package_qa: QA Issue: File
>   /usr/lib/cpio/ptest/tests/atconfig in package cpio-ptest contains reference to TMPDIR
> 
> Here are a few logs:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/96/builds/4375/steps/12/logs/stdio
> https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/6685/steps/12/logs/stdio
> https://autobuilder.yoctoproject.org/typhoon/#/builders/104/builds/5526/steps/12/logs/stdio
> 
> More at:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/4894

There are also reproducibility errors:

https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2361/steps/13/logs/stdio

See the corresponding diffoscope results:

http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230207-yei_47xv/packages/diff-html/
yanxk.fnst@fujitsu.com Feb. 7, 2023, 11:39 p.m. UTC | #3
Thanks,

I will take a closer look into them.

Best,
Yan

-----邮件原件-----
发件人: Luca Ceresoli <luca.ceresoli@bootlin.com> 
发送时间: 2023年2月8日 1:44
收件人: Luca Ceresoli via lists.openembedded.org <luca.ceresoli=bootlin.com@lists.openembedded.org>
抄送: luca.ceresoli@bootlin.com; Yan, Xinkuan/晏 新宽 <yanxk.fnst@fujitsu.com>; openembedded-core@lists.openembedded.org; FNST fnstml-fujitsuten <fnstml-fujitsuten@fujitsu.com>
主题: Re: [OE-core] [meta-oe][PATCH V1] cpio: add ptest

Hello Yan,

On Tue, 7 Feb 2023 18:26:27 +0100
"Luca Ceresoli via lists.openembedded.org"
<luca.ceresoli=bootlin.com@lists.openembedded.org> wrote:

> Hello Yan,
> 
> On Wed, 2 Nov 2022 09:35:33 +0800
>         ^^^^^^^^^^
> 
> Not sure where this data comes from... :)
> 
> "Yan Xin Kuan" <yanxk.fnst@fujitsu.com> wrote:
> 
> > From: Yan <yanxk.fnst@fujitsu.com>
> > 
> > enable the ptest function for cpio.
> > 
> > cpio takes 1 second maybe less, so it is fast.
> > 
> > you will get ptest result like this:
> > 
> > PASS: symlink
> > SKIP: symlink-bad-length
> > ......
> > 
> > Signed-off-by: Yan <yanxk.fnst@fujitsu.com>
> 
> Autobuilder testing with this patch generated lots of warnings:
> 
>   WARNING: cpio-2.13-r0 do_package_qa: QA Issue: File
>   /usr/lib/cpio/ptest/tests/atconfig in package cpio-ptest contains 
> reference to TMPDIR
> 
> Here are a few logs:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/96/builds/4375
> /steps/12/logs/stdio 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/6685
> /steps/12/logs/stdio 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/104/builds/552
> 6/steps/12/logs/stdio
> 
> More at:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/4894

There are also reproducibility errors:

https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2361/steps/13/logs/stdio

See the corresponding diffoscope results:

http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230207-yei_47xv/packages/diff-html/

--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
diff mbox series

Patch

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index d3e18ea4a4..3ca08d2b01 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -12,6 +12,7 @@  PTESTS_FAST = "\
     bc-ptest \
     bluez5-ptest \
     busybox-ptest \
+    cpio-ptest \
     diffstat-ptest \
     diffutils-ptest \
     ethtool-ptest \
diff --git a/meta/recipes-extended/cpio/cpio-2.13/run-ptest b/meta/recipes-extended/cpio/cpio-2.13/run-ptest
new file mode 100644
index 0000000000..bdac7259c1
--- /dev/null
+++ b/meta/recipes-extended/cpio/cpio-2.13/run-ptest
@@ -0,0 +1,10 @@ 
+#!/bin/sh
+
+# Define cpio test work dir
+WORKDIR=/usr/lib/cpio/ptest/tests/
+
+# Run test
+cd ${WORKDIR}
+./atconfig ./atlocal ./testsuite
+
+./testsuite 2>&1 | grep -E '[0-9]{1,3}: ' | sed -e 's/^.....//' -e '/[ok]$/s/^/PASS: /;/FAILED (.*)/s/^/FAIL: /;/skipped (.*)/s/^/SKIP: /;/expected failure/ s/^/PASS: /;/UNEXPECTED PASS/s/^/FAIL: /' -e 's/ok$//g' -e 's/FAILED.*//g' -e 's/skipped.*//g' -e 's/expected failure.*//g' -e 's/UNEXPECTED PASS.*//g'
diff --git a/meta/recipes-extended/cpio/cpio_2.13.bb b/meta/recipes-extended/cpio/cpio_2.13.bb
index eb3dc138a9..1a16b066f5 100644
--- a/meta/recipes-extended/cpio/cpio_2.13.bb
+++ b/meta/recipes-extended/cpio/cpio_2.13.bb
@@ -12,12 +12,13 @@  SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \
            file://0001-obstack-Fix-a-clang-warning.patch \
            file://CVE-2021-38185.patch \
            file://0001-Use-__alignof__-with-clang.patch \
+           file://run-ptest \
            "
 
 SRC_URI[md5sum] = "389c5452d667c23b5eceb206f5000810"
 SRC_URI[sha256sum] = "e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8f3db88"
 
-inherit autotools gettext texinfo
+inherit autotools gettext texinfo ptest
 
 # Issue applies to use of cpio in SUSE/OBS, doesn't apply to us
 CVE_CHECK_IGNORE += "CVE-2010-4226"
@@ -38,6 +39,22 @@  do_install () {
     mv "${D}${mandir}/man8/rmt.8" "${D}${mandir}/man8/rmt-cpio.8"
 }
 
+do_compile_ptest() {
+    oe_runmake -C ${B}/gnu/ check
+    oe_runmake -C ${B}/lib/ check
+    oe_runmake -C ${B}/rmt/ check
+    oe_runmake -C ${B}/src/ check
+    oe_runmake -C ${B}/tests/ genfile
+}
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/tests/
+    install --mode=755 ${B}/tests/atconfig ${D}${PTEST_PATH}/tests/
+    install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/
+    install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/
+    install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/
+}
+
 PACKAGES =+ "${PN}-rmt"
 
 FILES:${PN}-rmt = "${sbindir}/rmt*"