All of lore.kernel.org
 help / color / mirror / Atom feed
From: Allison Henderson <allison.henderson@oracle.com>
To: "Darrick J. Wong" <djwong@kernel.org>, guaneryu@gmail.com
Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me,
	amir73il@gmail.com, ebiggers@kernel.org
Subject: Re: [PATCH 09/13] fstests: adapt the new test script to our new group tagging scheme
Date: Sun, 13 Jun 2021 22:38:49 -0700	[thread overview]
Message-ID: <aa5d4ffe-7409-147d-4cc1-0975f926a8b7@oracle.com> (raw)
In-Reply-To: <162317281137.653489.16228043613270527911.stgit@locust>



On 6/8/21 10:20 AM, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
> 
> 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@kernel.org>
Other than the sed nit, looks ok to me
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>

> ---
>   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" \
> +		    -e 's/#.*//' \
> +		    -e 's/$/ /' \
> +		    -e 's;\(^[0-9][0-9][0-9]\)\(.*$\);\2;p')
> +		grpl="$grpl $l"
> +	    done
> +	    lst=`for word in $grpl; do echo $word; done | sort| uniq `
> +	    echo $lst
> +	else
> +	    # only allow lower cases, spaces, digits and underscore in group
> +	    inval=`echo $ans | tr -d '[:lower:][:space:][:digit:]_'`
> +	    if [ "$inval" != "" ]; then
> +		echo "Invalid characters in group(s): $inval"
> +		echo "Only lower cases, digits and underscore are allowed in groups, separated by space"
> +		continue
> +	    else
> +		# remove redundant spaces/tabs
> +		ans=`echo "$ans" | sed 's/\s\+/ /g'`
> +		break
> +	    fi
> +	fi
> +    done
> +else
> +    # expert mode, groups are on the command line
> +    #
> +    (cd "$tdir" ; ../../tools/mkgroupfile "$tmpfile")
> +    for g in $*
> +    do
> +	if ! grep -q "[[:space:]]$g" "$tmpfile"; then
> +	    echo "Warning: group \"$g\" not defined in $tdir tests"
> +	fi
> +    done
> +    ans="$*"
> +fi
> +
>   echo -n "Creating skeletal script for you to edit ..."
>   
>   year=`date +%Y`
> @@ -154,7 +134,7 @@ cat <<End-of-File >$tdir/$id
>   # what am I here for?
>   #
>   . ./common/preamble
> -_begin_fstest group list here
> +_begin_fstest $ans
>   
>   # Override the default cleanup function.
>   # _cleanup()
> @@ -196,56 +176,5 @@ QA output created by $id
>   Silence is golden
>   End-of-File
>   
> -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
> -		l=$(sed -n < tests/$d/group \
> -		    -e 's/#.*//' \
> -		    -e 's/$/ /' \
> -		    -e 's;\(^[0-9][0-9][0-9]\)\(.*$\);\2;p')
> -		grpl="$grpl $l"
> -	    done
> -	    lst=`for word in $grpl; do echo $word; done | sort| uniq `
> -	    echo $lst
> -	else
> -	    # only allow lower cases, spaces, digits and underscore in group
> -	    inval=`echo $ans | tr -d '[:lower:][:space:][:digit:]_'`
> -	    if [ "$inval" != "" ]; then
> -		echo "Invalid characters in group(s): $inval"
> -		echo "Only lower cases, digits and underscore are allowed in groups, separated by space"
> -		continue
> -	    else
> -		# remove redundant spaces/tabs
> -		ans=`echo "$ans" | sed 's/\s\+/ /g'`
> -		break
> -	    fi
> -	fi
> -    done
> -else
> -    # expert mode, groups are on the command line
> -    #
> -    for g in $*
> -    do
> -	if ! grep -q "[[:space:]]$g" "$tdir/group"; then
> -	    echo "Warning: group \"$g\" not defined in $tdir/group"
> -	fi
> -    done
> -    ans="$*"
> -fi
> -
> -echo -n "Adding $id to group index ..."
> -head -n $(($line-1)) $tdir/group > /tmp/$$.group
> -echo "$id $ans" >> /tmp/$$.group
> -tail -n +$((line)) $tdir/group >> /tmp/$$.group
> -mv /tmp/$$.group $tdir/group
>   echo " done."
> -
>   exit 0
> 

  parent reply	other threads:[~2021-06-14  5:39 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-08 17:19 [PATCHSET v1 00/13] fstests: move test group lists into test files Darrick J. Wong
2021-06-08 17:19 ` [PATCH 01/13] fstests: fix group check in new script Darrick J. Wong
2021-06-10  8:43   ` Chandan Babu R
2021-06-11 21:54     ` Allison Henderson
2021-06-08 17:19 ` [PATCH 02/13] misc: move exit status into trap handler Darrick J. Wong
2021-06-10  8:43   ` Chandan Babu R
2021-06-11 21:55   ` Allison Henderson
2021-06-08 17:19 ` [PATCH 03/13] fstests: refactor test boilerplate code Darrick J. Wong
2021-06-10  8:44   ` Chandan Babu R
2021-06-11 21:55   ` Allison Henderson
2021-06-12  0:08   ` Eric Biggers
2021-06-12  0:34     ` Darrick J. Wong
2021-06-08 17:19 ` [PATCH 04/13] fstests: add tool migrate group membership data to test files Darrick J. Wong
2021-06-10  8:44   ` Chandan Babu R
2021-06-11 21:55   ` Allison Henderson
2021-06-08 17:19 ` [PATCH 05/13] fstests: move test group info " Darrick J. Wong
2021-06-11 21:55   ` Allison Henderson
2021-06-11 23:29   ` Eric Biggers
2021-06-12  0:17     ` Eric Biggers
2021-06-12  0:34       ` Darrick J. Wong
2021-06-08 17:19 ` [PATCH 06/13] fstests: clean up open-coded golden output Darrick J. Wong
2021-06-10  8:57   ` Chandan Babu R
2021-06-11 21:55   ` Allison Henderson
2021-06-08 17:20 ` [PATCH 07/13] fstests: automatically generate group files Darrick J. Wong
2021-06-11  5:39   ` Chandan Babu R
2021-06-11 23:37   ` [PATCH v1.1 " Darrick J. Wong
2021-06-14  5:38     ` Allison Henderson
2021-06-08 17:20 ` [PATCH 08/13] fstests: convert nextid to use automatic group generation Darrick J. Wong
2021-06-11  6:31   ` Chandan Babu R
2021-06-11 23:46   ` Eric Biggers
2021-06-12  0:40     ` Darrick J. Wong
2021-06-14  5:38   ` Allison Henderson
2021-06-08 17:20 ` [PATCH 09/13] fstests: adapt the new test script to our new group tagging scheme Darrick J. Wong
2021-06-11  6:55   ` Chandan Babu R
2021-06-14  5:38   ` Allison Henderson [this message]
2021-06-08 17:20 ` [PATCH 10/13] check: use generated group files Darrick J. Wong
2021-06-11  7:49   ` Chandan Babu R
2021-06-14 19:39   ` Allison Henderson
2021-06-08 17:20 ` [PATCH 11/13] fstests: remove " Darrick J. Wong
2021-06-11  7:53   ` Chandan Babu R
2021-06-11 23:24   ` Eric Biggers
2021-06-11 23:29     ` Darrick J. Wong
2021-06-11 23:51       ` Eric Biggers
2021-06-14 19:39   ` Allison Henderson
2021-06-08 17:20 ` [PATCH 12/13] fstests: remove test group management code Darrick J. Wong
2021-06-11  8:19   ` Chandan Babu R
2021-06-14 19:39   ` Allison Henderson
2021-06-08 17:20 ` [PATCH 13/13] misc: update documentation to reflect auto-generated group files Darrick J. Wong
2021-06-11  8:23   ` Chandan Babu R
2021-06-14 19:39   ` Allison Henderson
2021-06-14 20:49     ` Darrick J. Wong
2021-06-14 20:58 [PATCHSET v2 00/13] fstests: move test group lists into test files Darrick J. Wong
2021-06-14 20:59 ` [PATCH 09/13] fstests: adapt the new test script to our new group tagging scheme Darrick J. Wong
2021-06-21 23:10 [PATCHSET v3 00/13] fstests: move test group lists into test files Darrick J. Wong
2021-06-21 23:10 ` [PATCH 09/13] fstests: adapt the new test script to our new group tagging scheme Darrick J. Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aa5d4ffe-7409-147d-4cc1-0975f926a8b7@oracle.com \
    --to=allison.henderson@oracle.com \
    --cc=amir73il@gmail.com \
    --cc=djwong@kernel.org \
    --cc=ebiggers@kernel.org \
    --cc=fstests@vger.kernel.org \
    --cc=guan@eryu.me \
    --cc=guaneryu@gmail.com \
    --cc=linux-xfs@vger.kernel.org \
    --subject='Re: [PATCH 09/13] fstests: adapt the new test script to our new group tagging scheme' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.