Re: [PATCH 09/13] fstests: adapt the new test script to our new group tagging scheme

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



On 08 Jun 2021 at 22:50, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@xxxxxxxxxx>
>
> Now that we autogenerate group files, adapt the new test creation script
> to use autogenerated group files and to set the group data in the new
> test.
>
> Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>
> ---
>  new |  179 ++++++++++++++++++++-----------------------------------------------
>  1 file changed, 54 insertions(+), 125 deletions(-)
>
>
> diff --git a/new b/new
> index 16e7c782..cdd909ad 100755
> --- a/new
> +++ b/new
> @@ -9,7 +9,8 @@
>  iam=new
>  . ./common/test_names
>  
> -trap "rm -f /tmp/$$.; exit" 0 1 2 3 15
> +tmpfile="/tmp/$$."
> +trap "rm -f $tmpfile; exit" 0 1 2 3 15
>  
>  _cleanup()
>  {
> @@ -26,71 +27,18 @@ usage()
>  
>  [ $# -eq 0 ] && usage
>  tdir=tests/$1
> -shift
> -
> -if [ ! -f $tdir/group ]
> -then
> -    echo "Creating the $tdir/group index ..."
> -    cat <<'End-of-File' >$tdir/group
> -# QA groups control
> -#
> -# define groups and default group owners
> -# do not start group name with a digit
> -#
> -
> -# catch-all
> -#
> -other		some-user-login
> -
> -# test-group association ... one line per test
> -#
> -End-of-File
> -fi
> -
> -if [ ! -w $tdir/group ]
> -then
> -    chmod u+w $tdir/group
> -    echo "Warning: making the index file \"$tdir/group\" writeable"
> -fi
> -
> -if make
> -then
> -    :
> -else
> -    echo "Warning: make failed -- some tests may be missing"
> -fi
>  
>  i=0
>  line=0
>  eof=1
> -[ -f "$tdir/group" ] || usage
> +[ -d "$tdir/" ] || usage
>  
>  export AWK_PROG="$(type -P awk)"
>  [ "$AWK_PROG" = "" ] && { echo "awk not found"; exit; }
>  
> -for found in `cat $tdir/group | tr - ' ' | $AWK_PROG '{ print $1 }'`
> -do
> -    line=$((line+1))
> -    if [ -z "$found" ] || [ "$found" == "#" ]; then
> -        continue
> -    elif ! echo "$found" | grep -q "^$VALID_TEST_NAME$"; then
> -        # this one is for tests not named by a number
> -        continue
> -    fi
> -    i=$((i+1))
> -    id=`printf "%03d" $i`
> -    if [ "$id" != "$found" ];then
> -	eof=0
> -	break
> -    fi
> -done
> -if [ $eof -eq 1 ]; then
> -   line=$((line+1))
> -   i=$((i+1))
> -   id=`printf "%03d" $i`
> -fi
> -
> +id="$(basename "$(./tools/nextid "$1")")"
>  echo "Next test id is $id"
> +shift
>  
>  read -p "Append a name to the ID? Test name will be $id-\$name. y,[n]: " -r
>  if [[ $REPLY = [Yy] ]]; then
> @@ -113,24 +61,9 @@ if [[ $REPLY = [Yy] ]]; then
>  		fi
>  	done
>  
> -	# now find where to insert this name
> -	eof=1
> -	for found in `tail -n +$line $tdir/group | $AWK_PROG '{ print $1 }'`; do
> -		found_id=$(echo "$found" | cut -d "-" -f 1 - )
> -		line=$((line+1))
> -		if [ -z "$found" ] || [ "$found" == "#" ]; then
> -			continue
> -		elif [ $found_id -gt $id ]; then
> -			eof=0
> -			break
> -		fi
> -	done
> -	if [ $eof -eq 0 ]; then
> -		# If place wasn't found, let $line be the end of the file
> -		line=$((line-1))
> -	fi
>  	id="$id-$name"
>  fi
> +
>  echo "Creating test file '$id'"
>  
>  if [ -f $tdir/$id ]
> @@ -140,6 +73,53 @@ then
>      exit 1
>  fi
>  
> +if [ $# -eq 0 ]
> +then
> +
> +    while true
> +    do
> +	echo -n "Add to group(s) [other] (separate by space, ? for list): "
> +	read ans
> +	[ -z "$ans" ] && ans=other
> +	if [ "X$ans" = "X?" ]
> +	then
> +	    for d in $SRC_GROUPS; do
> +		(cd "tests/$d/" ; ../../tools/mkgroupfile "$tmpfile")
> +		l=$(set -n < "$tmpfile" \

The above should have been "sed" instead of "set".

Apart from the above nit, the rest looks good to me.

Reviewed-by: Chandan Babu R <chandanrlinux@xxxxxxxxx>

-- 
chandan



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux