From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: "Yu, Mingli" <mingli.yu@eng.windriver.com>
Cc: openembedded-core@lists.openembedded.org, Ross.Burton@arm.com,
"João Marcos Costa" <joaomarcos.costa@bootlin.com>
Subject: Re: [OE-core] [PATCH v2] acl: Fix nfs ptest failure
Date: Thu, 27 Jun 2024 01:09:38 +0200 [thread overview]
Message-ID: <20240626230938fc033ae6@mail.local> (raw)
In-Reply-To: <20240626055637.2195328-1-mingli.yu@windriver.com>
Hello, this fails on the autobuilders:
https://autobuilder.yoctoproject.org/typhoon/#/builders/82/builds/6574/steps/12/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/81/builds/6751/steps/12/logs/stdio
On 26/06/2024 13:56:37+0800, Yu, Mingli wrote:
> From: Mingli Yu <mingli.yu@windriver.com>
>
> * The date such as "Jun 13" should take 2 columns, so the expected check
> item "test/sub2" should the column 9.
> # ls test/sub2 -dl
> drwxr-xr-x 2 root root 4096 Jun 13 06:01 test/sub2
>
> Corret the check item to fix the below failure in the test/nfsacl.test.
> [11] $ find test/sub2 | sort | xargs ls -dl | awk '{print $1,$8}' -- failed
> drwxr-xr-x 07:23 != drwxr-xr-x test/sub2
> -rw-r--r-- 07:23 != -rw-r--r-- test/sub2/blah
>
> * Use the abosulte path otherwise we won't find the expected file blah.
>
> * The calls to getgrnam_r would always fail because the size of the
> buffer was smaller than the minimum (170000) specified in the test
> implementations of getgrnam_r and getpwnam_r. Use test_get*_match directly
> because getpwnam and getgrnam should never fail on ERANGE.
>
> This commit fixes the following failure in the test/nfs/nfs-dir.test test:
>
> [16] $ su bin -- failed
> su: user bin does not exist != ~
>
> Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> ---
> ...s-nfs-dir.test-Use-the-abosulte-path.patch | 46 +++++++++++++
> ...s-nfsacl.test-Correct-the-check-item.patch | 51 ++++++++++++++
> ...0001-tests-fix-getpwnam-and-getgrnam.patch | 67 +++++++++++++++++++
> meta/recipes-support/attr/acl/run-ptest | 2 +
> meta/recipes-support/attr/acl_2.3.2.bb | 3 +
> 5 files changed, 169 insertions(+)
> create mode 100644 meta/recipes-support/attr/acl/0001-test-nfs-nfs-dir.test-Use-the-abosulte-path.patch
> create mode 100644 meta/recipes-support/attr/acl/0001-test-nfs-nfsacl.test-Correct-the-check-item.patch
> create mode 100644 meta/recipes-support/attr/acl/0001-tests-fix-getpwnam-and-getgrnam.patch
>
> diff --git a/meta/recipes-support/attr/acl/0001-test-nfs-nfs-dir.test-Use-the-abosulte-path.patch b/meta/recipes-support/attr/acl/0001-test-nfs-nfs-dir.test-Use-the-abosulte-path.patch
> new file mode 100644
> index 0000000000..c48ee9f820
> --- /dev/null
> +++ b/meta/recipes-support/attr/acl/0001-test-nfs-nfs-dir.test-Use-the-abosulte-path.patch
> @@ -0,0 +1,46 @@
> +From e87562e4e03450e380bd1ce8e11c561e8f9653d2 Mon Sep 17 00:00:00 2001
> +From: Mingli Yu <mingli.yu@windriver.com>
> +Date: Mon, 17 Jun 2024 11:22:21 +0800
> +Subject: [PATCH] test/nfs/nfs-dir.test: Use the abosulte path
> +
> +Use the abosulte path otherwise we won't find the expected file blah.
> +
> +Upstream-Status: Submitted [https://lists.nongnu.org/archive/html/acl-devel/2024-06/msg00001.html]
> +
> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> +---
> + test/nfs/nfs-dir.test | 8 ++++----
> + 1 file changed, 4 insertions(+), 4 deletions(-)
> +
> +diff --git a/test/nfs/nfs-dir.test b/test/nfs/nfs-dir.test
> +index 33e5f5f..7216a6e 100644
> +--- a/test/nfs/nfs-dir.test
> ++++ b/test/nfs/nfs-dir.test
> +@@ -14,7 +14,7 @@ EXPORT_PATH => the path that is mounted at the working directory.
> + Make sure the file can be accessed before.
> +
> + $ su bin
> +- $ cat test/blah
> ++ $ cat %{EXPORT_PATH}/test/blah
> + > blah
> +
> + Set up a situation that triggers the bug.
> +@@ -36,12 +36,12 @@ EXPORT_PATH => the path that is mounted at the working directory.
> + fail with "Stale NFS file handle" or "Input/output error".
> +
> + $ su bin
> +- $ cat test/blah
> ++ $ cat %{EXPORT_PATH}/test/blah
> + > blah
> + $ sleep 3
> +- $ cat test/blah
> ++ $ cat %{EXPORT_PATH}/test/blah
> + > blah
> +- $ cat test/blah
> ++ $ cat %{EXPORT_PATH}/test/blah
> + > blah
> +
> + Clean up.
> +--
> +2.34.1
> +
> diff --git a/meta/recipes-support/attr/acl/0001-test-nfs-nfsacl.test-Correct-the-check-item.patch b/meta/recipes-support/attr/acl/0001-test-nfs-nfsacl.test-Correct-the-check-item.patch
> new file mode 100644
> index 0000000000..f990ca4a31
> --- /dev/null
> +++ b/meta/recipes-support/attr/acl/0001-test-nfs-nfsacl.test-Correct-the-check-item.patch
> @@ -0,0 +1,51 @@
> +From dfc6328f02821f9c6703f764ec6f53cf81daaab6 Mon Sep 17 00:00:00 2001
> +From: Mingli Yu <mingli.yu@windriver.com>
> +Date: Mon, 17 Jun 2024 11:00:43 +0800
> +Subject: [PATCH] test/nfs/nfsacl.test: Correct the check item
> +
> +The date such as "Jun 13" should take 2 columns, so the expected check
> +item "test/sub2" should the column 9.
> + # ls test/sub2 -dl
> +drwxr-xr-x 2 root root 4096 Jun 13 06:01 test/sub2
> +
> +Upstream-Status: Submitted [https://lists.nongnu.org/archive/html/acl-devel/2024-06/msg00002.html]
> +
> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> +---
> + test/nfs/nfsacl.test | 6 +++---
> + 1 file changed, 3 insertions(+), 3 deletions(-)
> +
> +diff --git a/test/nfs/nfsacl.test b/test/nfs/nfsacl.test
> +index 4f37322..dfcc323 100644
> +--- a/test/nfs/nfsacl.test
> ++++ b/test/nfs/nfsacl.test
> +@@ -8,7 +8,7 @@ The test should be run on an NFS export mount with ACL support.
> + $ echo blah > test/sub/blah
> +
> + $ cp -rp test/sub test/sub2
> +- $ find test/sub2 | sort | xargs ls -dl | awk '{print $1,$8}'
> ++ $ find test/sub2 | sort | xargs ls -dl | awk '{print $1,$9}'
> + > drwxr-xr-x test/sub2
> + > -rw-r--r-- test/sub2/blah
> +
> +@@ -23,7 +23,7 @@ The test should be run on an NFS export mount with ACL support.
> + >
> +
> + $ cp -rp test/sub test/sub2
> +- $ find test/sub2 | sort | xargs ls -dl | awk '{print $1,$8}'
> ++ $ find test/sub2 | sort | xargs ls -dl | awk '{print $1,$9}'
> + > drwxrwxr-x+ test/sub2
> + > -rw-r--r-- test/sub2/blah
> +
> +@@ -31,7 +31,7 @@ The test should be run on an NFS export mount with ACL support.
> +
> + $ setfacl -m u:daemon:rw test/sub/blah
> + $ cp -rp test/sub test/sub2
> +- $ find test/sub2 | sort | xargs ls -dl | awk '{print $1,$8}'
> ++ $ find test/sub2 | sort | xargs ls -dl | awk '{print $1,$9}'
> + > drwxrwxr-x+ test/sub2
> + > -rw-rw-r--+ test/sub2/blah
> +
> +--
> +2.34.1
> +
> diff --git a/meta/recipes-support/attr/acl/0001-tests-fix-getpwnam-and-getgrnam.patch b/meta/recipes-support/attr/acl/0001-tests-fix-getpwnam-and-getgrnam.patch
> new file mode 100644
> index 0000000000..2fea254fec
> --- /dev/null
> +++ b/meta/recipes-support/attr/acl/0001-tests-fix-getpwnam-and-getgrnam.patch
> @@ -0,0 +1,67 @@
> +From 6398d3fe7a766b4e3cd15bb77fd0f15f7dba52b2 Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Zaoral?= <lzaoral@redhat.com>
> +Date: Wed, 19 Jun 2024 11:11:30 +0800
> +Subject: [PATCH] tests: fix getpwnam and getgrnam
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +The calls to these functions would always fail because the size of the buffer
> +was smaller than the minimum (170000) specified in the test implementations
> +of getgrnam_r and getpwnam_r. Use test_get*_match directly because getpwnam
> +and getgrnam should never fail on ERANGE.
> +
> +This commit fixes the following failure in the test/root/restore.test test:
> +
> +[21] $ chown bin passwd -- failed
> +chown: invalid user: ‘bin’ != ~
> +
> +Fixes: 3737f000d3f17cd283f51eeacac21a71a3472053 ("use thread-safe getpwnam_r
> +and getgrnam_r")
> +
> +Upstream-Status: Submitted [https://lists.nongnu.org/archive/html/acl-devel/2024-06/msg00000.html]
> +
> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> +---
> + test/test_group.c | 2 +-
> + test/test_passwd.c | 4 ++--
> + 2 files changed, 3 insertions(+), 3 deletions(-)
> +
> +diff --git a/test/test_group.c b/test/test_group.c
> +index 96dd612..42d6b07 100644
> +--- a/test/test_group.c
> ++++ b/test/test_group.c
> +@@ -136,7 +136,7 @@ struct group *getgrnam(const char *name)
> + static struct group grp;
> + struct group *result;
> +
> +- (void) getgrnam_r(name, &grp, buf, sizeof(buf), &result);
> ++ (void) test_getgr_match(&grp, buf, sizeof buf, &result, match_name, name);
> + return result;
> + }
> +
> +diff --git a/test/test_passwd.c b/test/test_passwd.c
> +index 9428bf8..97f2673 100644
> +--- a/test/test_passwd.c
> ++++ b/test/test_passwd.c
> +@@ -119,7 +119,7 @@ int getpwnam_r(const char *name, struct passwd *pwd, char *buf, size_t buflen,
> + *result = NULL;
> + return ERANGE;
> + }
> +- last_buflen =- 1;
> ++ last_buflen = -1;
> +
> + return test_getpw_match(pwd, buf, buflen, result, match_name, name);
> + }
> +@@ -131,7 +131,7 @@ struct passwd *getpwnam(const char *name)
> + static struct passwd pwd;
> + struct passwd *result;
> +
> +- (void) getpwnam_r(name, &pwd, buf, sizeof(buf), &result);
> ++ (void) test_getpw_match(&pwd, buf, sizeof(buf), &result, match_name, name);
> + return result;
> + }
> +
> +--
> +2.34.1
> +
> diff --git a/meta/recipes-support/attr/acl/run-ptest b/meta/recipes-support/attr/acl/run-ptest
> index 3af75c84fe..bc7947c3ad 100644
> --- a/meta/recipes-support/attr/acl/run-ptest
> +++ b/meta/recipes-support/attr/acl/run-ptest
> @@ -6,8 +6,10 @@
>
> mkdir -p /tmp/acl-ptest/test
> cp test/test.* /tmp/acl-ptest/test
> +export EXPORT_PATH="/tmp/acl-ptest/test"
>
> set +e
> +rm -rf test-suite.log
> make test-suite.log
> exitcode=$?
> if [ $exitcode -ne 0 -a -e test-suite.log ]; then
> diff --git a/meta/recipes-support/attr/acl_2.3.2.bb b/meta/recipes-support/attr/acl_2.3.2.bb
> index 6178473873..ee86ce2cae 100644
> --- a/meta/recipes-support/attr/acl_2.3.2.bb
> +++ b/meta/recipes-support/attr/acl_2.3.2.bb
> @@ -19,6 +19,9 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.tar.gz \
> file://run-ptest \
> file://0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch \
> file://0001-test-patch-out-failing-bits.patch \
> + file://0001-test-nfs-nfsacl.test-Correct-the-check-item.patch \
> + file://0001-test-nfs-nfs-dir.test-Use-the-abosulte-path.patch \
> + file://0001-tests-fix-getpwnam-and-getgrnam.patch \
> "
>
> SRC_URI[sha256sum] = "5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c"
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#201151): https://lists.openembedded.org/g/openembedded-core/message/201151
> Mute This Topic: https://lists.openembedded.org/mt/106885245/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:[~2024-06-26 23:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-26 5:56 [PATCH v2] acl: Fix nfs ptest failure mingli.yu
2024-06-26 23:09 ` Alexandre Belloni [this message]
2024-06-27 6:15 ` [OE-core] " Yu, Mingli
2024-06-27 6:57 ` Alexandre Belloni
2024-06-27 7:03 ` Yu, Mingli
2024-06-27 6:17 ` [PATCH] acl: Add attr to RDEPENDS:${PN}-ptest mingli.yu
2024-06-27 6:23 ` [OE-core] " Chen, Qi
2024-06-27 6:59 ` Yu, Mingli
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=20240626230938fc033ae6@mail.local \
--to=alexandre.belloni@bootlin.com \
--cc=Ross.Burton@arm.com \
--cc=joaomarcos.costa@bootlin.com \
--cc=mingli.yu@eng.windriver.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 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.