common/rc: fix indentation in _scratch_mkfs_sized
[xfstests-dev.git] / new
diff --git a/new b/new
index ab2af69aab152e0bc4d7ff60c2c4a2182a31b354..bb427f0db23619f9032adc321738ef97483a4fb1 100755 (executable)
--- a/new
+++ b/new
@@ -1,29 +1,13 @@
 #! /bin/bash
-#
-#-----------------------------------------------------------------------
-#  Copyright (c) 2000-2005 Silicon Graphics, Inc.  All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-#
-#-----------------------------------------------------------------------
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2000-2005 Silicon Graphics, Inc.  All Rights Reserved.
 #
 # Make a new test
 #
 
 # generic initialization
 iam=new
-. ./common/rc
+. ./common/test_names
 
 trap "rm -f /tmp/$$.; exit" 0 1 2 3 15
 
@@ -81,6 +65,9 @@ line=0
 eof=1
 [ -f "$tdir/group" ] || 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))
@@ -159,28 +146,13 @@ year=`date +%Y`
 
 cat <<End-of-File >$tdir/$id
 #! /bin/bash
-# FS QA Test $id
-#
-# what am I here for?
-#
-#-----------------------------------------------------------------------
+# SPDX-License-Identifier: GPL-2.0
 # Copyright (c) $year YOUR NAME HERE.  All Rights Reserved.
 #
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it would be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# FS QA Test $id
 #
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write the Free Software Foundation,
-# Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-#-----------------------------------------------------------------------
+# what am I here for?
 #
-
 seq=\`basename \$0\`
 seqres=\$RESULT_DIR/\$seq
 echo "QA output created by \$seq"
@@ -207,7 +179,6 @@ rm -f \$seqres.full
 
 # Modify as appropriate.
 _supported_fs generic
-_supported_os IRIX Linux
 _require_test
 
 # if error
@@ -228,12 +199,18 @@ echo ""
 chmod 755 $tdir/$id
 ${EDITOR-vi} $tdir/$id
 
+# Create default .out file
+cat <<End-of-File >$tdir/$id.out
+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] (? for list): "
+       echo -n "Add to group(s) [other] (separate by space, ? for list): "
        read ans
        [ -z "$ans" ] && ans=other
        if [ "X$ans" = "X?" ]
@@ -248,7 +225,17 @@ then
            lst=`for word in $grpl; do echo $word; done | sort| uniq `
            echo $lst
        else
-           break
+           # 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