]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
xfstests: check if qa user can execute commands
authorJan Schmidt <list.btrfs@jan-o-sch.net>
Tue, 6 Dec 2011 09:56:29 +0000 (10:56 +0100)
committerChristoph Hellwig <hch@lst.de>
Thu, 8 Dec 2011 17:11:38 +0000 (17:11 +0000)
_require_user only checks if the qa user exists in /etc/passwd. It may exist
though still not be able to execute anything (e.g. with a /bin/false shell).

_user_do cannot determine failure to execute the given command, as it uses
_user_do_filter for post-processing which succeeds even if the command
fails. Thus, the check should be performed by _require_user.

Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
common.rc

index bb3645fa516ca60803dbcff7bc25c4ae794fcc0b..978ddbfcf157784ada2487a0dad7550234691a2e 100644 (file)
--- a/common.rc
+++ b/common.rc
@@ -933,6 +933,8 @@ _require_user()
     qa_user=fsgqa
     _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."
 }
 
 _filter_user_do()