summaryrefslogtreecommitdiff
path: root/new
diff options
context:
space:
mode:
authorEryu Guan <eguan@redhat.com>2017-07-28 13:24:51 +0800
committerEryu Guan <eguan@redhat.com>2017-08-03 20:44:04 +0800
commit9c129c6887eb109d1407a3342209c71997a98984 (patch)
tree135a335b6dc6369b3a35715656957ffcb494223c /new
parentfed90418a77eb906462ee8410e4adcfd0562732f (diff)
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>
Diffstat (limited to 'new')
-rwxr-xr-xnew14
1 files changed, 12 insertions, 2 deletions
diff --git a/new b/new
index eb7da0ff..4eacccd3 100755
--- a/new
+++ b/new
@@ -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