From 76c5f3c06233be43430f465ae14250ffc7878ae3 Mon Sep 17 00:00:00 2001 From: Eryu Guan Date: Mon, 10 Nov 2014 18:06:23 +1100 Subject: [PATCH] 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 --- common/rc | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/common/rc b/common/rc index 9f17564e..6b2c6384 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" ;; -- 2.39.5