xfs
[Top] [All Lists]

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

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 16/25] xfstests: make exclude groups aware of multiple subdirectories
From: Phil White <pwhite@xxxxxxx>
Date: Sat, 23 Mar 2013 03:23:46 -0700
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1363350489-22257-17-git-send-email-david@xxxxxxxxxxxxx>
References: <1363350489-22257-1-git-send-email-david@xxxxxxxxxxxxx> <1363350489-22257-17-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
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

<Prev in Thread] Current Thread [Next in Thread>