new: validate groups when creating new test

Allow only lower case letters, digits, spaces and underscore when
adding groups, give prompt if there's any not-allowed characters.
Also remove redundant spaces between groups.

Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
Eryu Guan
2017-07-28 13:24:51 +08:00
parent fed90418a7
commit 9c129c6887
+12 -2
View File
@@ -239,7 +239,7 @@ 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?" ]
@@ -254,7 +254,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