From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Khem Raj <raj.khem@gmail.com>
Cc: "Yu, Mingli" <mingli.yu@windriver.com>,
mingli.yu@eng.windriver.com,
openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH v3] acl: Fix nfs ptest failure
Date: Mon, 1 Jul 2024 18:33:01 +0200 [thread overview]
Message-ID: <202407011633012c576264@mail.local> (raw)
In-Reply-To: <CAMKF1srF+BXye5k9dGNVEvAj1D8Y3d9b8FXcU21-vCmWCC+31g@mail.gmail.com>
On 01/07/2024 09:19:50-0700, Khem Raj wrote:
> On Mon, Jul 1, 2024 at 1:25 AM Yu, Mingli <mingli.yu@windriver.com> wrote:
>
> >
> >
> > On 6/28/24 02:21, Khem Raj wrote:
> > > CAUTION: This email comes from a non Wind River email account!
> > > Do not click links or open attachments unless you recognize the sender
> > and know the content is safe.
> > >
> > > I am seeing two XPASSes which is ok but the test runs reports failure
> > back
> >
> > It is because the two cases defined as XFAIL_TESTS
> > https://git.savannah.nongnu.org/cgit/acl.git/tree/test/Makemodule.am#n1
> > and per
> >
> > https://www.gnu.org/software/automake/manual/html_node/Generalities-about-Testing.html,
> >
> >
> > ```
> > In case a test that is expected to fail ends up passing instead, many
> > testing environments will flag the result as a special kind of failure
> > called unexpected pass (or xpass).
> > ```
>
>
> It’s fine here we need to treat them as passes so the return from tests do
> not confuse the preset runner
But if we don't get the expected result, isn't that a failure?
>
> >
> > Thanks,
> >
> > >
> > > root@qemux86-64:/usr/lib/acl/ptest# ./run-ptest
> > > PASS: test/cp.test
> > > PASS: test/getfacl-lfs.test
> > > PASS: test/getfacl-noacl.test
> > > PASS: test/getfacl-recursive.test
> > > PASS: test/malformed-restore.test
> > > PASS: test/misc.test
> > > PASS: test/sbits-restore.test
> > > PASS: test/setfacl-X.test
> > > PASS: test/utf8-filenames.test
> > > PASS: test/root/getfacl.test
> > > PASS: test/root/permissions.test
> > > PASS: test/root/restore.test
> > > PASS: test/root/setfacl.test
> > > XPASS: test/nfs/nfsacl.test
> > > XPASS: test/nfs/nfs-dir.test
> > >
> > ============================================================================
> > > Testsuite summary for acl 2.3.2
> > >
> > ============================================================================
> > > # TOTAL: 15
> > > # PASS: 13
> > > # SKIP: 0
> > > # XFAIL: 0
> > > # FAIL: 0
> > > # XPASS: 2
> > > # ERROR: 0
> > >
> > ============================================================================
> > > See ./test-suite.log
> > > Please report to acl-devel@nongnu.org
> > >
> > ============================================================================
> > > make: *** [Makefile:2064: test-suite.log] Error 1
> > > =================================
> > > acl 2.3.2: ./test-suite.log
> > > =================================
> > >
> > > # TOTAL: 15
> > > # PASS: 13
> > > # SKIP: 0
> > > # XFAIL: 0
> > > # FAIL: 0
> > > # XPASS: 2
> > > # ERROR: 0
> > >
> > > .. contents:: :depth: 2
> > >
> > > XPASS: test/nfs/nfsacl
> > > ======================
> > >
> > > [6] $ umask 022 -- ok
> > > [7] $ mkdir -p test/sub -- ok
> > > [8] $ echo blah > test/sub/blah -- ok
> > > [10] $ cp -rp test/sub test/sub2 -- ok
> > > [11] $ find test/sub2 | sort | xargs ls -dl | awk '{print $1,$9}' -- ok
> > > [15] $ rm -rf test/sub2 -- ok
> > > [17] $ setfacl -m u:daemon:rwx test/sub -- ok
> > > [18] $ setfacl -dm u:daemon:rwx test/sub -- ok
> > > [19] $ getfattr -m- test/sub -- ok
> > > [25] $ cp -rp test/sub test/sub2 -- ok
> > > [26] $ find test/sub2 | sort | xargs ls -dl | awk '{print $1,$9}' -- ok
> > > [30] $ rm -rf test/sub2 -- ok
> > > [32] $ setfacl -m u:daemon:rw test/sub/blah -- ok
> > > [33] $ cp -rp test/sub test/sub2 -- ok
> > > [34] $ find test/sub2 | sort | xargs ls -dl | awk '{print $1,$9}' -- ok
> > > [38] $ rm -rf test/sub2 -- ok
> > > [42] $ rm -rf test -- ok
> > > 17 commands (17 passed, 0 failed)
> > > XPASS test/nfs/nfsacl.test (exit status: 0)
> > >
> > > XPASS: test/nfs/nfs-dir
> > > =======================
> > >
> > > [10] $ umask 022 -- ok
> > > [11] $ mkdir /tmp/acl-ptest/test/test -- ok
> > > [12] $ echo blah > /tmp/acl-ptest/test/test/blah -- ok
> > > [16] $ su bin -- ok
> > > [17] $ cat /tmp/acl-ptest/test/test/blah -- ok
> > > [22] $ su -- ok
> > > [23] $ chmod go-rwx /tmp/acl-ptest/test/test -- ok
> > > [24] $ setfacl -m u:bin:rx /tmp/acl-ptest/test/test -- ok
> > > [25] $ ls -dl /tmp/acl-ptest/test/test | awk '{print $1, $3, $4}' -- ok
> > > [27] $ getfacl --omit-header /tmp/acl-ptest/test/test 2> /dev/null -- ok
> > > [38] $ su bin -- ok
> > > [39] $ cat /tmp/acl-ptest/test/test/blah -- ok
> > > [41] $ sleep 3 -- ok
> > > [42] $ cat /tmp/acl-ptest/test/test/blah -- ok
> > > [44] $ cat /tmp/acl-ptest/test/test/blah -- ok
> > > [49] $ su -- ok
> > > [50] $ rm -rf /tmp/acl-ptest/test/test -- ok
> > > 17 commands (17 passed, 0 failed)
> > > XPASS test/nfs/nfs-dir.test (exit status: 0)
> > >
> > > On Thu, Jun 27, 2024 at 12:04 AM Yu, Mingli via lists.openembedded.org
> > > <mingli.yu=eng.windriver.com@lists.openembedded.org> 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 != ~
> > >>
> > >> * Add attr which provides getfattr to RDEPENDS:${PN}-ptest to fix below
> > >> test/nfs/nfsacl failure.
> > >> [19] $ getfattr -m- test/sub -- failed\n'
> > >> 'Can\'t exec "getfattr": Nosuch file or directory at ./test/run
> > line '
> > >> 369, <TEST_FILE> line 24. != # file: test/sub\n'
> > >> 'getfattr: No such file or directory !=
> > system.posix_acl_access\n'
> > >> '~ !=
> > system.posix_acl_default\n'
> > >> '~
> > >>
> > >> 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 | 4 ++
> > >> 5 files changed, 170 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..5ac085c322 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"
> > >> @@ -65,6 +68,7 @@ do_install_ptest:append:libc-musl() {
> > >> }
> > >>
> > >> RDEPENDS:${PN}-ptest = "acl \
> > >> + attr \
> > >> bash \
> > >> coreutils \
> > >> perl \
> > >> --
> > >> 2.34.1
> > >>
> > >>
> > >> -=-=-=-=-=-=-=-=-=-=-=-
> > >> Links: You receive all messages sent to this group.
> > >> View/Reply Online (#201188):
> > https://lists.openembedded.org/g/openembedded-core/message/201188
> > >> Mute This Topic: https://lists.openembedded.org/mt/106904866/1997914
> > >> Group Owner: openembedded-core+owner@lists.openembedded.org
> > >> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> > raj.khem@gmail.com]
> > >> -=-=-=-=-=-=-=-=-=-=-=-
> > >>
> >
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2024-07-01 16:33 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-27 7:03 [PATCH v3] acl: Fix nfs ptest failure mingli.yu
2024-06-27 18:21 ` [OE-core] " Khem Raj
2024-06-28 9:12 ` Alexandre Belloni
2024-07-01 8:25 ` Yu, Mingli
2024-07-01 16:19 ` Khem Raj
2024-07-01 16:33 ` Alexandre Belloni [this message]
2024-07-08 15:56 ` Ross Burton
2024-07-08 16:13 ` Khem Raj
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=202407011633012c576264@mail.local \
--to=alexandre.belloni@bootlin.com \
--cc=mingli.yu@eng.windriver.com \
--cc=mingli.yu@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=raj.khem@gmail.com \
/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