Re: [PATCH 08/13] fstests: convert nextid to use automatic group generation

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Tue, Jun 08, 2021 at 10:20:05AM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@xxxxxxxxxx>
> 
> Convert the nextid script to use the automatic group file generation to
> figure out the next available test id.
> 
> Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>
> ---
>  tools/nextid |    1 -
>  tools/nextid |   39 +++++++++++++++++++++++++++++++++++++++
>  2 files changed, 39 insertions(+), 1 deletion(-)
>  delete mode 120000 tools/nextid
>  create mode 100755 tools/nextid
> 
> 
> diff --git a/tools/nextid b/tools/nextid
> deleted file mode 120000
> index 5c31d602..00000000
> --- a/tools/nextid
> +++ /dev/null
> @@ -1 +0,0 @@
> -sort-group
> \ No newline at end of file
> diff --git a/tools/nextid b/tools/nextid
> new file mode 100755
> index 00000000..a65348e8
> --- /dev/null
> +++ b/tools/nextid
> @@ -0,0 +1,39 @@
> +#!/bin/bash
> +
> +# Compute the next available test id in a given test directory.
> +
> +if [ -z "$1" ] || [ "$1" = "--help" ] || [ -n "$2" ] || [ ! -d "tests/$1/" ]; then
> +	echo "Usage: $0 test_dir"
> +	exit 1
> +fi

[ $# != 1 ] would be simpler than [ -z "$1" ] || [ -n "$2" ].

> +line=0

The 'line' variable isn't needed.

> +i=0
> +eof=1
> +
> +while read found other_junk;
> +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 < <(cd "tests/$1/" ; ../../tools/mkgroupfile | tr - ' ')

The first token matching $VALID_TEST_NAME already implies that it is non-empty
and not "#".  Also, this could be handled by piping to grep:

while read found other_junk; do
	i=$((i+1))
	id=`printf "%03d" $i`
	if [ "$id" != "$found" ]; then
		eof=0
		break
	fi
done < <(cd "tests/$1/" ; ../../tools/mkgroupfile | \
         grep "^$VALID_TEST_NAME\>" | tr - ' ')

- Eric



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux