[PATCH 23/25] xfstests: Decomplicate quota setup in 050

Dave Chinner david at fromorbit.com
Fri Mar 15 07:28:07 CDT 2013


From: Dave Chinner <dchinner at redhat.com>

Only test 050 uses the _qsetup function, and it only uses the ID
part of it in the test. the attempts to link output files is useless
as there are no different output files used by the test.

Hence kill the _qsetup function, and move the code into test 050,
simplifying it down to the minimum needed.

Signed-off-by: Dave Chinner <dchinner at redhat.com>
---
 common/quota  |   47 +----------------------------------------------
 tests/xfs/050 |   36 +++++++++++++++++++++++++++---------
 2 files changed, 28 insertions(+), 55 deletions(-)

diff --git a/common/quota b/common/quota
index 7f349ab..fd5374f 100644
--- a/common/quota
+++ b/common/quota
@@ -92,7 +92,7 @@ _require_nobody()
 #
 _file_as_id()
 {
-    [ $# != 5 ] && _notrun "broken call to _file_as_id in test $seq"
+    [ $# != 5 ] && _fail "broken call to _file_as_id in test $seq"
 
     parent=`dirname $1`
     if [ $3 = p ]; then
@@ -157,51 +157,6 @@ _qmount()
     chmod ugo+rwx $SCRATCH_MNT
 }
 
-_qsetup()
-{
-    # setup exactly what it is we'll be testing
-    enforce=1
-    if src/feature -u $SCRATCH_DEV
-    then
-	type=u ;
-	eval `_choose_uid`
-	[ ! -f $seq.out ] && ln -s $seq.usrquota $seq.out
-    elif src/feature -g $SCRATCH_DEV
-    then
-	type=g
-	eval `_choose_gid`
-	[ ! -f $seq.out ] && ln -s $seq.grpquota $seq.out
-    elif src/feature -p $SCRATCH_DEV
-    then
-	type=p
-	eval `_choose_prid`
-	[ ! -f $seq.out ] && ln -s $seq.prjquota $seq.out
-    elif src/feature -U $SCRATCH_DEV
-    then
-	type=u
-	eval `_choose_uid`
-	[ ! -f $seq.out ] && ln -s $seq.uqnoenforce $seq.out
-	enforce=0
-    elif src/feature -G $SCRATCH_DEV
-    then
-	type=g
-	eval `_choose_gid`
-	[ ! -f $seq.out ] && ln -s $seq.gqnoenforce $seq.out
-	enforce=0
-    elif src/feature -P $SCRATCH_DEV
-    then
-	type=p
-	eval `_choose_prid`
-	[ ! -f $seq.out ] && ln -s $seq.pqnoenforce $seq.out
-	enforce=0
-    else
-	_notrun "No quota support at mount time"
-    fi
-
-    echo "Using output from '" `ls -l $seq.out` "'" >>$seqres.full
-    echo "and using type=$type id=$id" >>$seqres.full
-}
-
 #
 # Ensures only the given quota mount option is used
 #
diff --git a/tests/xfs/050 b/tests/xfs/050
index 774ed28..e2009a8 100755
--- a/tests/xfs/050
+++ b/tests/xfs/050
@@ -98,6 +98,25 @@ _filter_and_check_blks()
 	' | _filter_report
 }
 
+_qsetup()
+{
+	opt=$1
+	enforce=0
+	if [ $opt = "u" -o $opt = "uno" ]; then
+		type=u
+		eval `_choose_uid`
+	elif [ $opt = "g" -o $opt = "gno" ]; then
+		type=g
+		eval `_choose_gid`
+	elif [ $opt = "p" -o $opt = "pno" ]; then
+		type=p
+		eval `_choose_prid`
+	fi
+	[ $opt = "u" -o $opt = "g" -o $opt = "p" ] && enforce=1
+
+	echo "Using type=$type id=$id" >> $seqres.full
+}
+
 _exercise()
 {
 	_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
@@ -116,10 +135,9 @@ _exercise()
 	[ $extsize -ge 512000 ] && \
 		_notrun "Extent size hint is too large ($extsize bytes)"
 
-	_qsetup
+	_qsetup $1
 
-	echo "Using output from '" `ls -l $seq.out` "'" >>$seqres.full
-	echo "and using type=$type id=$id" >>$seqres.full
+	echo "Using type=$type id=$id" >>$seqres.full
 
 	echo
 	echo "*** report no quota settings" | tee -a $seqres.full
@@ -204,11 +222,11 @@ then
 else
 	_qmount_option "uquota"
 fi
-_exercise
+_exercise u
 
 echo "*** group"
 _qmount_option "gquota"
-_exercise
+_exercise g
 
 echo "*** uqnoenforce"
 if [ "$HOSTOS" == "IRIX" ]
@@ -217,19 +235,19 @@ then
 else
 	_qmount_option "uqnoenforce"
 fi
-_exercise
+_exercise uno
 
 echo "*** gqnoenforce"
 _qmount_option "gqnoenforce"
-_exercise
+_exercise gno
 
 echo "*** pquota"
 _qmount_option "pquota"
-_exercise
+_exercise p
 
 echo "*** pqnoenforce"
 _qmount_option "pqnoenforce"
-_exercise
+_exercise pno
 
 # success, all done
 status=0
-- 
1.7.10.4



More information about the xfs mailing list