All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V5] tar: add ptest support
@ 2023-09-25  5:35 qiutt
  2023-09-25  7:51 ` [OE-core] " Alexander Kanavin
  0 siblings, 1 reply; 4+ messages in thread
From: qiutt @ 2023-09-25  5:35 UTC (permalink / raw)
  To: openembedded-core; +Cc: Yan, Qiu Tingting

From: Yan <yanxk.fnst@fujitsu.com>

Add a ptest for tar.
- It is taking around 3m to execute with kvm, so added it to PTEST_SLOW.
- It contains 242 cases.
- Below is parts of the run log:
  START: ptest-runner
  2023-09-25T05:06
  BEGIN: /usr/lib/tar/ptest
  ## ------------------------ ##
  ## GNU tar 1.35 test suite. ##
  ## ------------------------ ##
  PASS: tar version
  PASS: decompressing from stdin
  ...
  ## ------------- ##
  ## Test results. ##
  ## ------------- ##

  198 tests were successful.
  44 tests were skipped.
  DURATION: 188
  END: /usr/lib/tar/ptest
  2023-09-25T05:09
  STOP: ptest-runner
  TOTAL: 1 FAIL: 0

Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
Signed-off-by: Yan Xinkuan <yanxk.fnst@fujitsu.com>
---
 .../distro/include/ptest-packagelists.inc     |  1 +
 meta/recipes-core/images/core-image-ptest.bb  |  3 ++
 meta/recipes-extended/tar/tar/ptest.patch     | 23 +++++++++++++
 meta/recipes-extended/tar/tar/run-ptest       | 14 ++++++++
 meta/recipes-extended/tar/tar_1.35.bb         | 32 +++++++++++++++++++
 5 files changed, 73 insertions(+)
 create mode 100644 meta/recipes-extended/tar/tar/ptest.patch
 create mode 100644 meta/recipes-extended/tar/tar/run-ptest

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 9160103cb0..3df7c9e405 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -109,6 +109,7 @@ PTESTS_SLOW = "\
     python3-cryptography \
     python3 \
     strace \
+    tar \
     tcl \
     util-linux \
     valgrind \
diff --git a/meta/recipes-core/images/core-image-ptest.bb b/meta/recipes-core/images/core-image-ptest.bb
index b81ab7b7c8..b6f5c2fd60 100644
--- a/meta/recipes-core/images/core-image-ptest.bb
+++ b/meta/recipes-core/images/core-image-ptest.bb
@@ -24,6 +24,9 @@ IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-mdadm = "1524288"
 IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-strace = "1024288"
 IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-lttng-tools = "1524288"
 
+# tar-ptest in particular needs more space
+IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-tar = "1524288"
+
 # ptests need more memory than standard to avoid the OOM killer
 QB_MEM = "-m 1024"
 QB_MEM:virtclass-mcextend-lttng-tools = "-m 4096"
diff --git a/meta/recipes-extended/tar/tar/ptest.patch b/meta/recipes-extended/tar/tar/ptest.patch
new file mode 100644
index 0000000000..4a5951211e
--- /dev/null
+++ b/meta/recipes-extended/tar/tar/ptest.patch
@@ -0,0 +1,23 @@
+tar: Fix bug of compiling testsuite
+
+Del exclude17.at and exclude18.at from testsuite.at,
+because these files are not exist in tarball.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
+
+diff -rNu a/tests/testsuite.at b/tests/testsuite.at
+--- a/tests/testsuite.at	2023-09-25 10:39:52.176684379 +0800
++++ b/tests/testsuite.at	2023-09-25 10:39:25.532684766 +0800
+@@ -312,8 +312,8 @@
+ m4_include([exclude14.at])
+ m4_include([exclude15.at])
+ m4_include([exclude16.at])
+-m4_include([exclude17.at])
+-m4_include([exclude18.at])
++# m4_include([exclude17.at])
++# m4_include([exclude18.at])
+ 
+ AT_BANNER([Deletions])
+ m4_include([delete01.at])
diff --git a/meta/recipes-extended/tar/tar/run-ptest b/meta/recipes-extended/tar/tar/run-ptest
new file mode 100644
index 0000000000..185b33d61a
--- /dev/null
+++ b/meta/recipes-extended/tar/tar/run-ptest
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# Define tar test work dir
+WORKDIR=@PTEST_PATH@/tests/
+
+# Run test
+cd ${WORKDIR}
+./atconfig ./atlocal ./testsuite
+
+# clear log
+rm -rf testsuite.dir
+rm -rf testsuite.log
+
+./testsuite --am-fmt
diff --git a/meta/recipes-extended/tar/tar_1.35.bb b/meta/recipes-extended/tar/tar_1.35.bb
index 4dbd418b60..9605ec52a6 100644
--- a/meta/recipes-extended/tar/tar_1.35.bb
+++ b/meta/recipes-extended/tar/tar_1.35.bb
@@ -42,6 +42,38 @@ do_install:append:class-target() {
     fi
 }
 
+# add for ptest support
+SRC_URI += " \
+    file://run-ptest \
+    file://ptest.patch \
+"
+
+inherit ptest
+
+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
+    rm -rf ${S}/tests/testsuite
+    oe_runmake -C ${B}/tests/ testsuite
+    oe_runmake -C ${B}/tests/ genfile checkseekhole ckmtime
+}
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/tests/
+    install --mode=755 ${B}/tests/atconfig ${D}${PTEST_PATH}/tests/
+    sed -i "/abs_/d" ${D}${PTEST_PATH}/tests/atconfig
+    echo "abs_builddir=${PTEST_PATH}/tests/" >> ${D}${PTEST_PATH}/tests/atconfig
+    install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/
+    sed -i "/PATH=/d" ${D}${PTEST_PATH}/tests/atlocal
+    install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/
+    install --mode=755 ${B}/tests/checkseekhole ${D}${PTEST_PATH}/tests/
+    install --mode=755 ${B}/tests/ckmtime ${D}${PTEST_PATH}/tests/
+    install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/
+    sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/run-ptest
+}
+
 PACKAGES =+ "${PN}-rmt"
 
 FILES:${PN}-rmt = "${sbindir}/rmt*"
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [OE-core] [PATCH V5] tar: add ptest support
  2023-09-25  5:35 [PATCH V5] tar: add ptest support qiutt
@ 2023-09-25  7:51 ` Alexander Kanavin
  2023-09-26  1:18   ` qiutt
  0 siblings, 1 reply; 4+ messages in thread
From: Alexander Kanavin @ 2023-09-25  7:51 UTC (permalink / raw)
  To: qiutt; +Cc: openembedded-core, Yan

On Mon, 25 Sept 2023 at 07:35, qiutt@fujitsu.com <qiutt@fujitsu.com> wrote:
> +tar: Fix bug of compiling testsuite
> +
> +Del exclude17.at and exclude18.at from testsuite.at,
> +because these files are not exist in tarball.
> +
> +Upstream-Status: Inappropriate [oe specific]

Thanks for persevering with this, we're nearly there.

When adding 'Inappropriate' patches, it is important to check if this
issue has been resolved in upstream git, or if there's a ticket for it
(and add a ticket if needed).
In this case, there's a fix, so please add the link to this patch:
https://git.savannah.gnu.org/cgit/tar.git/commit/?id=39849e9d91f477d3fb839f93cd0815d0cb3273e9

Upstreams should be notified of the problems when we add
'Inappropriate' patches to work around them.

Alex


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH V5] tar: add ptest support
  2023-09-25  7:51 ` [OE-core] " Alexander Kanavin
@ 2023-09-26  1:18   ` qiutt
  2023-09-26  6:09     ` [OE-core] " Alexander Kanavin
  0 siblings, 1 reply; 4+ messages in thread
From: qiutt @ 2023-09-26  1:18 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1746 bytes --]

Hi,Alex

> 
> In this case, there's a fix, so please add the link to this patch:
> https://git.savannah.gnu.org/cgit/tar.git/commit/?id=39849e9d91f477d3fb839f93cd0815d0cb3273e9
> 

The bug: There is no exclude17.at or exclude18.at file in src dir, so testsuite can not be compiled.

| /bin/bash '/Yocto/oe-core-test/build/tmp-glibc/work/core2-64-oe-linux/tar/1.35/tar-1.35/build-aux/missing' autom4te --language=autotest -I ../../tar-1.35/tests testsuite.at -o ../../tar-1.35/tests/testsuite.tmp | m4:../../tar-1.35/tests/testsuite.at:315: cannot open `exclude17.at': No such file or directory | m4:../../tar-1.35/tests/testsuite.at:316: cannot open `exclude18.at': No such file or directory | autom4te: error: m4 failed with exit status: 1
Up patch only added exclude17.at and exclude18.at into Makefile, but could not fix none file problem.
So, I think it is not the fix patch.

The key is that used tarball(*1) does not contain exclude17.at(*3) and exclude18.at(*4).
But another tarball(*2) contains the two files.
I am not sure why the same version has diffrenent tarballs.
For *1, testsuite is exist in src without compiling, so there is no problem. Of course there is not any ticket or fix patch.
In oe ptest, for adding --am-fmt, recompiling testsuite is neccessary, so the problem appeared.

*1: https://ftp.gnu.org/gnu/tar/tar-1.35.tar.bz2
*2: https://git.savannah.gnu.org/cgit/tar.git/snapshot/tar-1.35.tar.gz
*3: The following patch add exclude17.at.
https://git.savannah.gnu.org/cgit/tar.git/commit/?id=0f0722df45ec520d0dac7c9ad7e69165e9140931
*4: The following patch add exclude18.at. ( src/names.c is changed)
https://git.savannah.gnu.org/cgit/tar.git/commit/?id=4f814e0e4c673f86dc65a557f7e55f6b5efd1529

[-- Attachment #2: Type: text/html, Size: 4468 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [OE-core] [PATCH V5] tar: add ptest support
  2023-09-26  1:18   ` qiutt
@ 2023-09-26  6:09     ` Alexander Kanavin
  0 siblings, 0 replies; 4+ messages in thread
From: Alexander Kanavin @ 2023-09-26  6:09 UTC (permalink / raw)
  To: qiutt; +Cc: openembedded-core

Hello,

contents of tarball at *1 is determined by EXTRA_DIST setting in
https://git.savannah.gnu.org/cgit/tar.git/tree/tests/Makefile.am?id=39849e9d91f477d3fb839f93cd0815d0cb3273e9#n20
which in turn refers to TESTSUITE_AT.

As of 1.35 release, TESTSUITE_AT was missing exclude17/18.at and the
following later commit adds them, fixing the issue of missing files:
https://git.savannah.gnu.org/cgit/tar.git/commit/?id=39849e9d91f477d3fb839f93cd0815d0cb3273e9
Note that the link in the commit message refers specifically to that:
https://lists.gnu.org/r/bug-tar/2023-07/msg00002.html

Commits in *3 and *4 added the files, but forgot to update TESTSUITE_AT.

Tarball in *2 has those files, because it is not actually a release
tarball, it is an archive that git automatically generates from the
git source tree when a new tag is added. That tarball should not be
used.

Rather than modify testsuite.at to exclude the two missing files,
maybe it's better to add the two missing files to the source tree in
that same patch instead? And please do refer to the commit that will
fix the issue upstream when they issue a new tarball release.

Alex


On Tue, 26 Sept 2023 at 03:18, qiutt@fujitsu.com <qiutt@fujitsu.com> wrote:
>
> Hi,Alex
>
> In this case, there's a fix, so please add the link to this patch:
> https://git.savannah.gnu.org/cgit/tar.git/commit/?id=39849e9d91f477d3fb839f93cd0815d0cb3273e9
>
> The bug: There is no exclude17.at or exclude18.at file in src dir, so testsuite can not be compiled.
>
> | /bin/bash '/Yocto/oe-core-test/build/tmp-glibc/work/core2-64-oe-linux/tar/1.35/tar-1.35/build-aux/missing' autom4te --language=autotest -I ../../tar-1.35/tests testsuite.at -o ../../tar-1.35/tests/testsuite.tmp | m4:../../tar-1.35/tests/testsuite.at:315: cannot open `exclude17.at': No such file or directory | m4:../../tar-1.35/tests/testsuite.at:316: cannot open `exclude18.at': No such file or directory | autom4te: error: m4 failed with exit status: 1
> Up patch only added exclude17.at and exclude18.at into Makefile, but could not fix none file problem.
> So, I think it is not the fix patch.
>
> The key is that used tarball(*1) does not contain exclude17.at(*3) and exclude18.at(*4).
> But another tarball(*2) contains the two files.
> I am not sure why the same version has diffrenent tarballs.
> For *1, testsuite is exist in src without compiling, so there is no problem. Of course there is not any ticket or fix patch.
> In oe ptest, for adding --am-fmt, recompiling testsuite is neccessary, so the problem appeared.
>
> *1: https://ftp.gnu.org/gnu/tar/tar-1.35.tar.bz2
> *2: https://git.savannah.gnu.org/cgit/tar.git/snapshot/tar-1.35.tar.gz
> *3: The following patch add exclude17.at.
> https://git.savannah.gnu.org/cgit/tar.git/commit/?id=0f0722df45ec520d0dac7c9ad7e69165e9140931
> *4: The following patch add exclude18.at. (src/names.c is changed)
> https://git.savannah.gnu.org/cgit/tar.git/commit/?id=4f814e0e4c673f86dc65a557f7e55f6b5efd1529
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#188213): https://lists.openembedded.org/g/openembedded-core/message/188213
> Mute This Topic: https://lists.openembedded.org/mt/101569333/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-09-26  6:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-25  5:35 [PATCH V5] tar: add ptest support qiutt
2023-09-25  7:51 ` [OE-core] " Alexander Kanavin
2023-09-26  1:18   ` qiutt
2023-09-26  6:09     ` [OE-core] " Alexander Kanavin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.