* [PATCH v3 0/2] generic/079 test fails if 'nobody' and 'daemon' don't exist
@ 2021-09-27 10:58 Luis Henriques
2021-09-27 10:58 ` [PATCH v3 1/2] common/rc: add _require_user_exists() to check if a user exists Luis Henriques
2021-09-27 10:58 ` [PATCH v3 2/2] generic/079: make sure users 'nobody' and 'daemon' exist Luis Henriques
0 siblings, 2 replies; 3+ messages in thread
From: Luis Henriques @ 2021-09-27 10:58 UTC (permalink / raw)
To: fstests
Cc: Zorro Lang, Eric Biggers, Darrick J . Wong, Eryu Guan,
Luis Chamberlain, Luis Henriques
Hi!
Changes since v2:
- Make the 'grep' command more accurate, i.e. make sure user 'myuser'
exists in /etc/passwd and not 'myuser123'. Suggested by Zorro Lang.
Changed since v1:
- 'user' variable in _require_user_exists() is now local, as suggested
by Eric Biggers.
(I've also added Darrick's Reviewed-by tag to the 2nd patch only.)
Original cover-letter:
Test generic/079 currently fails if for some reason the 'nobody' or
'daemon' users don't exist:
*** starting up
add_acl(/mnt/scratch/079/immutable.f) did not set errno == EPERM
add_acl(/mnt/scratch/079/immutable.d) did not set errno == EPERM
add_acl(/mnt/scratch/079/append-only.f) did not set errno == EPERM
add_acl(/mnt/scratch/079/append-only.d) did not set errno == EPERM
testing immutable...FAILED! (2 tests failed)
testing append-only...FAILED! (2 tests failed)
*** cleaning up
The first patch that follows adds a new function _require_user_exists()
that will verify a user exists in the system (and refactors existent
_require_user() to use the new function).
The second patch is the actual test fix.
Luis Henriques (2):
common/rc: add _require_user_exists() to check if a user exists
generic/079: make sure users 'nobody' and 'daemon' exist
common/rc | 27 ++++++++++++++++++---------
tests/generic/079 | 2 ++
2 files changed, 20 insertions(+), 9 deletions(-)
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v3 1/2] common/rc: add _require_user_exists() to check if a user exists
2021-09-27 10:58 [PATCH v3 0/2] generic/079 test fails if 'nobody' and 'daemon' don't exist Luis Henriques
@ 2021-09-27 10:58 ` Luis Henriques
2021-09-27 10:58 ` [PATCH v3 2/2] generic/079: make sure users 'nobody' and 'daemon' exist Luis Henriques
1 sibling, 0 replies; 3+ messages in thread
From: Luis Henriques @ 2021-09-27 10:58 UTC (permalink / raw)
To: fstests
Cc: Zorro Lang, Eric Biggers, Darrick J . Wong, Eryu Guan,
Luis Chamberlain, Luis Henriques
Function _require_user() does check if a user exists *and* if it is able
to execute commands. Add a new function to simply check if a user exists.
Signed-off-by: Luis Henriques <lhenriques@suse.de>
---
common/rc | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/common/rc b/common/rc
index 154bc2dd7e94..7154d246b1fc 100644
--- a/common/rc
+++ b/common/rc
@@ -2289,18 +2289,27 @@ _cat_group()
cat /etc/group
}
-# check for a user on the machine, fsgqa as default
+# check if a user exists in the system
+#
+_require_user_exists()
+{
+ local user=$1
+ _cat_passwd | grep -q "^$user:"
+ [ "$?" == "0" ] || _notrun "$user user not defined."
+}
+
+# check if a user exists and is able to execute commands.
+# Uses 'fsgqa' user as default.
#
_require_user()
{
- qa_user=fsgqa
- if [ -n "$1" ];then
- qa_user=$1
- fi
- _cat_passwd | grep -q $qa_user
- [ "$?" == "0" ] || _notrun "$qa_user user not defined."
- echo /bin/true | su $qa_user
- [ "$?" == "0" ] || _notrun "$qa_user cannot execute commands."
+ qa_user=fsgqa
+ if [ -n "$1" ];then
+ qa_user=$1
+ fi
+ _require_user_exists $qa_user
+ echo /bin/true | su $qa_user
+ [ "$?" == "0" ] || _notrun "$qa_user cannot execute commands."
}
# check for a chown support
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v3 2/2] generic/079: make sure users 'nobody' and 'daemon' exist
2021-09-27 10:58 [PATCH v3 0/2] generic/079 test fails if 'nobody' and 'daemon' don't exist Luis Henriques
2021-09-27 10:58 ` [PATCH v3 1/2] common/rc: add _require_user_exists() to check if a user exists Luis Henriques
@ 2021-09-27 10:58 ` Luis Henriques
1 sibling, 0 replies; 3+ messages in thread
From: Luis Henriques @ 2021-09-27 10:58 UTC (permalink / raw)
To: fstests
Cc: Zorro Lang, Eric Biggers, Darrick J . Wong, Eryu Guan,
Luis Chamberlain, Luis Henriques
Test 'src/t_immutable' assumes the existence of users 'nobody' and
'daemon' on the system. If any of these users don't exist, the test will
fail with:
add_acl(/media/scratch/079/immutable.f) did not set errno == EPERM
...
because it tries to set ACLs such as:
u::rwx,g::rwx,o::rwx,u:daemon:rwx,m::rwx
Use the new _require_user_exists() function to ensure these users exist.
Signed-off-by: Luis Henriques <lhenriques@suse.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
---
tests/generic/079 | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/generic/079 b/tests/generic/079
index 829275db8cdf..9e7ccd31c8e2 100755
--- a/tests/generic/079
+++ b/tests/generic/079
@@ -26,6 +26,8 @@ _cleanup()
_supported_fs generic
_require_chattr ia
+_require_user_exists "nobody"
+_require_user_exists "daemon"
_require_test_program "t_immutable"
_require_scratch
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-09-27 10:58 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-27 10:58 [PATCH v3 0/2] generic/079 test fails if 'nobody' and 'daemon' don't exist Luis Henriques
2021-09-27 10:58 ` [PATCH v3 1/2] common/rc: add _require_user_exists() to check if a user exists Luis Henriques
2021-09-27 10:58 ` [PATCH v3 2/2] generic/079: make sure users 'nobody' and 'daemon' exist Luis Henriques
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).