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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox