diff mbox

new: validate groups when creating new test

Message ID 20170728062522.16916-1-eguan@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Eryu Guan July 28, 2017, 6:25 a.m. UTC
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.

Signed-off-by: Eryu Guan <eguan@redhat.com>
---
 new | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

Comments

Brian Foster Aug. 3, 2017, 11:53 a.m. UTC | #1
On Fri, Jul 28, 2017 at 02:25:22PM +0800, Eryu Guan wrote:
> 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.
> 
> Signed-off-by: Eryu Guan <eguan@redhat.com>
> ---

Reviewed-by: Brian Foster <bfoster@redhat.com>

>  new | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/new b/new
> index eb7da0ff463b..4eacccd3bf8b 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
> -- 
> 2.13.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe fstests" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/new b/new
index eb7da0ff463b..4eacccd3bf8b 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