From: Eryu Guan Date: Mon, 10 Nov 2014 07:06:23 +0000 (+1100) Subject: common: re-enable tests that require scratch dev on NFS X-Git-Tag: v2022.05.01~3013 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=76c5f3c06233be43430f465ae14250ffc7878ae3;p=users%2Fhch%2Fxfstests-dev.git common: re-enable tests that require scratch dev on NFS Commit c041421 ("xfstests: stop special casing nfs and udf") disables tests requires scratch dev running on NFS. Add the infrastructure needed to re-enable them to get a larger test coverage on NFS. Signed-off-by: Eryu Guan Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner --- diff --git a/common/rc b/common/rc index 9f17564e3..6b2c6384a 100644 --- a/common/rc +++ b/common/rc @@ -551,6 +551,14 @@ _mkfs_dev() rm -f $tmp_dir.mkfserr $tmp_dir.mkfsstd } +# remove all files in $SCRATCH_MNT, useful when testing on NFS/CIFS +_scratch_cleanup_files() +{ + _scratch_mount + rm -rf $SCRATCH_MNT/* + _scratch_unmount +} + _scratch_mkfs() { case $FSTYP in @@ -558,7 +566,9 @@ _scratch_mkfs() _scratch_mkfs_xfs $* ;; nfs*) - # do nothing for nfs + # unable to re-create NFS, just remove all files in $SCRATCH_MNT to + # avoid EEXIST caused by the leftover files created in previous runs + _scratch_cleanup_files ;; cifs) # do nothing for cifs @@ -1034,8 +1044,14 @@ _require_scratch_nocheck() { case "$FSTYP" in nfs*) - _notrun "requires a scratch device" - ;; + echo $SCRATCH_DEV | grep -q ":/" > /dev/null 2>&1 + if [ -z "$SCRATCH_DEV" -o "$?" != "0" ]; then + _notrun "this test requires a valid \$SCRATCH_DEV" + fi + if [ ! -d "$SCRATCH_MNT" ]; then + _notrun "this test requires a valid \$SCRATCH_MNT" + fi + ;; cifs) _notrun "requires a scratch device" ;;