Re: [PATCH 16/25] xfstests: make exclude groups aware of multiple subdirectories

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Looks OK.

Reviewed-by: Phil White <pwhite@xxxxxxx>

On Fri, Mar 15, 2013 at 11:28:00PM +1100, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> Now that there are no tests in the top level directory, the exlude
> group functionality no longer works (-x group) as it cannot find
> tests to build an initial list of tests. Rework the the exclude
> group implementation to operate correctly on the new test locations.
> 
> Also, switch from sed to grep for exclusion because sed has problems
> distnguishing the '/' in path names from regex control...
> 
> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> ---
>  check |   35 +++++++++++++++++++++++++++--------
>  1 file changed, 27 insertions(+), 8 deletions(-)
> 
> diff --git a/check b/check
> index 620de0f..d7426e5 100755
> --- a/check
> +++ b/check
> @@ -96,6 +96,19 @@ get_group_list()
>  	echo $grpl
>  }
>  
> +# find all tests, excluding files that are test metadata such as group files.
> +# This assumes that tests are defined purely by alphanumeric filenames with no
> +# ".xyz" extensions in the name.
> +get_all_tests()
> +{
> +	touch $tmp.list
> +	for d in $SRC_GROUPS $FSTYP; do
> +		ls $SRC_DIR/$d/* | \
> +			grep -v "\..*" | \
> +			grep -v group >> $tmp.list 2>/dev/null
> +	done
> +}
> +
>  _wallclock()
>  {
>      date "+%H %M %S" | $AWK_PROG '{ print $1*3600 + $2*60 + $3 }'
> @@ -110,7 +123,7 @@ _timestamp()
>  # start the initialisation work now
>  _setenvironment
>  
> -rm -f $tmp.list $tmp.tmp $tmp.sed $here/$iam.out
> +rm -f $tmp.list $tmp.tmp $tmp.grep $here/$iam.out
>  
>  # Autodetect fs type based on what's on $TEST_DEV
>  if [ "$HOSTOS" == "Linux" ]; then
> @@ -150,27 +163,33 @@ while [ $# -gt 0 ]; do
>  		;;
>  
>  	-x)	xgroup=$2 ; shift ;
> -		[ ! -s $tmp.list ] &&  ls $SUPPORTED_TESTS >$tmp.list 2>/dev/null
> +
> +		# Note: behaviour is dependent on command line ordering of
> +		# -g and -x parameters. If there are no preceding -g commands,
> +		# this works on all tests, otherwise just the tests specified by
> +		# the early -g inclusions.
> +		[ ! -s $tmp.list ] && get_all_tests
> +
>  		group_list=$(get_group_list $xgroup)
>  		if [ -z "$group_list" ]; then
>  		    echo "Group \"$xgroup\" is empty or not defined?"
>  		    exit 1
>  		fi
>  
> -		rm -f $tmp.sed
> +		rm -f $tmp.grep
>  		numsed=0
>  		for t in $group_list
>  		do
>  		    if [ $numsed -gt 100 ]; then
> -			sed -f $tmp.sed <$tmp.list >$tmp.tmp
> +			grep -v -f $tmp.grep <$tmp.list >$tmp.tmp
>  			mv $tmp.tmp $tmp.list
>  			numsed=0
> -			rm -f $tmp.sed
> +			rm -f $tmp.grep
>  		    fi
> -		    echo "/^$t\$/d" >>$tmp.sed
> +		    echo "^$t\$" >>$tmp.grep
>  		    numsed=`expr $numsed + 1`
>  		done
> -		sed -f $tmp.sed <$tmp.list >$tmp.tmp
> +		grep -v -f $tmp.grep <$tmp.list >$tmp.tmp
>  		mv $tmp.tmp $tmp.list
>  		;;
>  
> @@ -239,7 +258,7 @@ fi
>  
>  # sort the list of tests into numeric order
>  list=`sort -n $tmp.list`
> -rm -f $tmp.list $tmp.tmp $tmp.sed
> +rm -f $tmp.list $tmp.tmp $tmp.grep
>  
>  if $randomize
>  then
> -- 
> 1.7.10.4
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux