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

Chandan Babu R
2021-06-11T06:57:20Z

On 08 Jun 2021 at 22:50, 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>
> ---
> 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@gmail.com>

--
chandan