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