All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eryu Guan <eguan@linux.alibaba.com>
To: Pavel Reichl <preichl@redhat.com>
Cc: fstests@vger.kernel.org, zlang@redhat.com, guan@eryu.me
Subject: Re: [PATCH v2 1/4] common/rc: Add _require_{chown,chmod,symlink}()
Date: Thu, 1 Apr 2021 11:38:53 +0800	[thread overview]
Message-ID: <20210401033853.GO95214@e18g06458.et15sqa> (raw)
In-Reply-To: <20210330220005.56019-2-preichl@redhat.com>

On Wed, Mar 31, 2021 at 12:00:02AM +0200, Pavel Reichl wrote:
> Add helper functions that ensure that test is only executed on file
> systems that implement chown, chmod and symbolic links.
> 
> Fixed test are: generic/{87,88,125,126,128,193,314,317,355,597,598}
> 
> Signed-off-by: Pavel Reichl <preichl@redhat.com>
> ---
>  common/rc         | 27 +++++++++++++++++++++++++++
>  tests/generic/087 |  1 +
>  tests/generic/088 |  1 +
>  tests/generic/125 |  1 +
>  tests/generic/126 |  1 +
>  tests/generic/128 |  1 +
>  tests/generic/193 |  1 +
>  tests/generic/314 |  1 +
>  tests/generic/317 |  1 +
>  tests/generic/355 |  1 +
>  tests/generic/597 |  1 +
>  tests/generic/598 |  1 +
>  12 files changed, 38 insertions(+)
> 
> diff --git a/common/rc b/common/rc
> index 0ce3cb0d..9cdfe21c 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -2129,6 +2129,33 @@ _require_user()
>      [ "$?" == "0" ] || _notrun "$qa_user cannot execute commands."
>  }
>  
> +# check for a chown support
> +#
> +_require_chown()
> +{
> +	if [ "$FSTYP" = "exfat" ]; then
> +		_notrun "chown is not supported on $FSTYP"
> +	fi
> +}
> +
> +# check for a chmod support
> +#
> +_require_chmod()
> +{
> +	if [ "$FSTYP" = "exfat" ]; then
> +		_notrun "chmod is not supported on $FSTYP"
> +	fi
> +}
> +

Does chown/chmod fail on exfat? Like the existing _require_symlink()
implementation and many other _require rules, we try to actually do the
action on $TEST_DIR, and check if command succeeds to see if the action
is supported by current $FSTYP. Is it possible for exfat to do the same
check?

We only use whitelist if it's impossible to do such check.

Thanks,
Eryu

> +# check for a symbolic links support
> +#
> +_require_symlink()
> +{
> +	if [ "$FSTYP" = "exfat" ]; then
> +		_notrun "symbolic links are not supported on $FSTYP"
> +	fi
> +}
> +
>  # check for a group on the machine, fsgqa as default
>  #
>  _require_group()
> diff --git a/tests/generic/087 b/tests/generic/087
> index 1f30dbf4..c3576117 100755
> --- a/tests/generic/087
> +++ b/tests/generic/087
> @@ -37,6 +37,7 @@ _cleanup()
>  # real QA test starts here
>  _supported_fs generic
>  _require_test
> +_require_chown
>  
>  QA_FS_PERMS=$here/src/fs_perms
>  
> diff --git a/tests/generic/088 b/tests/generic/088
> index 9388a083..ad99bd7e 100755
> --- a/tests/generic/088
> +++ b/tests/generic/088
> @@ -29,6 +29,7 @@ _filter()
>  # real QA test starts here
>  _supported_fs generic
>  _require_test
> +_require_chown
>  
>  path=$TEST_DIR/t_access
>  $here/src/t_access_root $path | tee $seqres.full | _filter
> diff --git a/tests/generic/125 b/tests/generic/125
> index e84248d3..8c8f5cd7 100755
> --- a/tests/generic/125
> +++ b/tests/generic/125
> @@ -25,6 +25,7 @@ _supported_fs generic
>  _require_test
>  _require_user
>  _require_odirect
> +_require_chmod
>  
>  TESTDIR=$TEST_DIR/ftrunc
>  TESTFILE=$TESTDIR/ftrunc.tmp
> diff --git a/tests/generic/126 b/tests/generic/126
> index ac25d294..636ca00d 100755
> --- a/tests/generic/126
> +++ b/tests/generic/126
> @@ -27,6 +27,7 @@ _cleanup()
>  # real QA test starts here
>  _supported_fs generic
>  _require_test
> +_require_chown
>  
>  QA_FS_PERMS=$here/src/fs_perms
>  
> diff --git a/tests/generic/128 b/tests/generic/128
> index b3e49eff..c1eae77a 100755
> --- a/tests/generic/128
> +++ b/tests/generic/128
> @@ -24,6 +24,7 @@ _supported_fs generic
>  
>  _require_scratch
>  _require_user
> +_require_chmod
>  
>  _scratch_mkfs >/dev/null 2>&1
>  _scratch_mount "-o nosuid"
> diff --git a/tests/generic/193 b/tests/generic/193
> index 3125efdd..fd0ebbf6 100755
> --- a/tests/generic/193
> +++ b/tests/generic/193
> @@ -56,6 +56,7 @@ _supported_fs generic
>  
>  _require_test
>  _require_user
> +_require_chown
>  
>  test_root=$TEST_DIR/$seq.$$.root
>  test_user=$TEST_DIR/$seq.$$.user
> diff --git a/tests/generic/314 b/tests/generic/314
> index 03df81ce..540f0feb 100755
> --- a/tests/generic/314
> +++ b/tests/generic/314
> @@ -29,6 +29,7 @@ _cleanup()
>  _supported_fs generic
>  _require_test
>  _require_user
> +_require_chown
>  
>  rm -rf $TEST_DIR/$seq-dir
>  
> diff --git a/tests/generic/317 b/tests/generic/317
> index 29c37a57..289dfabe 100755
> --- a/tests/generic/317
> +++ b/tests/generic/317
> @@ -45,6 +45,7 @@ _require_scratch
>  _require_user
>  _require_ugid_map
>  _require_userns
> +_require_chown
>  qa_user_id=`id -u $qa_user`
>  
>  _filter_output()
> diff --git a/tests/generic/355 b/tests/generic/355
> index 161dd042..74fba0f9 100755
> --- a/tests/generic/355
> +++ b/tests/generic/355
> @@ -32,6 +32,7 @@ _supported_fs generic
>  _require_test
>  _require_user
>  _require_odirect
> +_require_chown
>  
>  testfile=$TEST_DIR/$seq.test
>  rm -f $testfile
> diff --git a/tests/generic/597 b/tests/generic/597
> index ba769d73..f596406c 100755
> --- a/tests/generic/597
> +++ b/tests/generic/597
> @@ -43,6 +43,7 @@ _require_sysctl_variable fs.protected_hardlinks
>  _require_user fsgqa2
>  # Do this SECOND so that qa_user is fsgqa, and _user_do uses that account
>  _require_user fsgqa
> +_require_symlink
>  
>  OWNER=fsgqa2
>  OTHER=fsgqa
> diff --git a/tests/generic/598 b/tests/generic/598
> index 6b765275..230c3ac7 100755
> --- a/tests/generic/598
> +++ b/tests/generic/598
> @@ -43,6 +43,7 @@ _require_sysctl_variable fs.protected_fifos
>  _require_user fsgqa2
>  # Do this SECOND so that qa_user is fsgqa, and _user_do uses that account
>  _require_user fsgqa
> +_require_chmod
>  
>  USER1=fsgqa2
>  USER2=fsgqa
> -- 
> 2.30.2

  parent reply	other threads:[~2021-04-01  3:40 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-30 22:00 [PATCH v2 0/4] Fix some tests that fail for exfat FS Pavel Reichl
2021-03-30 22:00 ` [PATCH v2 1/4] common/rc: Add _require_{chown,chmod,symlink}() Pavel Reichl
2021-03-31  0:25   ` Zorro Lang
2021-03-31  7:17     ` Pavel Reichl
2021-04-01  3:38   ` Eryu Guan [this message]
2021-04-01  9:47     ` Pavel Reichl
2021-04-07 16:47       ` Eric Sandeen
2021-03-30 22:00 ` [PATCH v2 2/4] common: hide permision warning from mkswap for exfat Pavel Reichl
2021-04-07 17:03   ` Eric Sandeen
2021-04-15  9:15     ` Pavel Reichl
2021-03-30 22:00 ` [PATCH v2 3/4] generic/554: hide permision warning on exfat Pavel Reichl
2021-04-01  3:40   ` Eryu Guan
2021-03-30 22:00 ` [PATCH v2 4/4] generic/003: Amend the test for exfat Pavel Reichl
2021-04-07 18:03   ` Eric Sandeen
2021-04-15  9:14     ` Pavel Reichl

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=20210401033853.GO95214@e18g06458.et15sqa \
    --to=eguan@linux.alibaba.com \
    --cc=fstests@vger.kernel.org \
    --cc=guan@eryu.me \
    --cc=preichl@redhat.com \
    --cc=zlang@redhat.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 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.