Re: [PATCH 12/13] fstests: remove test group management code

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



On 08 Jun 2021 at 22:50, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@xxxxxxxxxx>
>
> Remove all the code that manages group files, since we now generate
> them at build time.
>

Looks good.

Reviewed-by: Chandan Babu R <chandanrlinux@xxxxxxxxx>

> Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>
> ---
>  tools/mvtest     |   12 ------
>  tools/sort-group |  112 ------------------------------------------------------
>  2 files changed, 124 deletions(-)
>  delete mode 100755 tools/sort-group
>
>
> diff --git a/tools/mvtest b/tools/mvtest
> index 572ae14e..fa967832 100755
> --- a/tools/mvtest
> +++ b/tools/mvtest
> @@ -32,24 +32,12 @@ did="$(basename "${dest}")"
>  sgroup="$(basename "$(dirname "tests/${src}")")"
>  dgroup="$(basename "$(dirname "tests/${dest}")")"
>  
> -sgroupfile="tests/${sgroup}/group"
> -dgroupfile="tests/${dgroup}/group"
> -
>  git mv "tests/${src}" "tests/${dest}"
>  git mv "tests/${src}.out" "tests/${dest}.out"
>  sed -e "s/^# FS[[:space:]]*QA.*Test.*[0-9]\+$/# FS QA Test No. ${did}/g" -i "tests/${dest}"
>  sed -e "s/^QA output created by ${sid}$/QA output created by ${did}/g" -i "tests/${dest}.out"
>  sed -e "s/test-${sid}/test-${did}/g" -i "tests/${dest}.out"
>  
> -grpline="$(grep "^${sid} " "${sgroupfile}")"
> -newgrpline="$(echo "${grpline}" | sed -e "s/^${sid} /${did} /g")"
> -
> -sed -e "/^${sid} .*$/d" -i "${sgroupfile}"
> -cp "${dgroupfile}" "${dgroupfile}.new"
> -append "${dgroupfile}.new" "${newgrpline}"
> -"${dir}/sort-group" "${dgroupfile}.new"
> -mv "${dgroupfile}.new" "${dgroupfile}"
> -
>  echo "Moved \"${src}\" to \"${dest}\"."
>  
>  exit 0
> diff --git a/tools/sort-group b/tools/sort-group
> deleted file mode 100755
> index 6fcaad77..00000000
> --- a/tools/sort-group
> +++ /dev/null
> @@ -1,112 +0,0 @@
> -#!/usr/bin/env python
> -import sys
> -
> -# Sort a group list, carefully preserving comments.
> -
> -def xfstest_key(key):
> -	'''Extract the numeric part of a test name if possible.'''
> -	k = 0
> -
> -	assert type(key) == str
> -
> -	# No test number at all...
> -	if not key[0].isdigit():
> -		return key
> -
> -	# ...otherwise extract as much number as we can.
> -	for digit in key:
> -		if digit.isdigit():
> -			k = k * 10 + int(digit)
> -		else:
> -			return k
> -	return k
> -
> -def read_group(fd):
> -	'''Read the group list, carefully attaching comments to the next test.'''
> -	tests = {}
> -	comments = None
> -
> -	for line in fd:
> -		sline = line.strip()
> -		tokens = sline.split()
> -		if len(tokens) == 0 or tokens[0] == '#':
> -			if comments == None:
> -				comments = []
> -			comments.append(sline)
> -		else:
> -			tests[tokens[0]] = (comments, tokens[1:])
> -			comments = None
> -	return tests
> -
> -def sort_keys(keys):
> -	'''Separate keys into integer and non-integer tests.'''
> -	int_keys = []
> -	int_xkeys = []
> -	str_keys = []
> -
> -	# Sort keys into integer(ish) tests and other
> -	for key in keys:
> -		xkey = xfstest_key(key)
> -		if type(xkey) == int:
> -			int_keys.append(key)
> -			int_xkeys.append(xkey)
> -		else:
> -			str_keys.append(key)
> -	return (int_keys, int_xkeys, str_keys)
> -
> -def write_sorted(tests, fd):
> -	def dump_xkey(xkey):
> -		(comments, tokens) = tests[key]
> -		if comments:
> -			for c in comments:
> -				fd.write('%s\n' % c)
> -		fd.write('%s %s\n' % (key, ' '.join(tokens)))
> -	'''Print tests (and comments) in number order.'''
> -
> -	(int_keys, ignored, str_keys) = sort_keys(tests.keys())
> -	for key in sorted(int_keys, key = xfstest_key):
> -		dump_xkey(key)
> -	for key in sorted(str_keys):
> -		dump_xkey(key)
> -
> -def sort_main():
> -	if '--help' in sys.argv[1:]:
> -		print('Usage: %s groupfiles' % sys.argv[0])
> -		sys.exit(0)
> -
> -	for arg in sys.argv[1:]:
> -		with open(arg, 'r+') as fd:
> -			x = read_group(fd)
> -			fd.seek(0, 0)
> -			write_sorted(x, fd)
> -
> -def nextid_main():
> -	if '--help' in sys.argv[1:]:
> -		print('Usage: %s group[/startid] ' % sys.argv[0])
> -		sys.exit(0)
> -
> -	if len(sys.argv) != 2:
> -		print('Specify exactly one group name.')
> -		sys.exit(1)
> -
> -	c = sys.argv[1].split('/')
> -	if len(c) > 1:
> -		startid = int(c[1])
> -	else:
> -		startid = 1
> -	group = c[0]
> -
> -	with open('tests/%s/group' % group, 'r') as fd:
> -		x = read_group(fd)
> -		xkeys = {int(x) for x in sort_keys(x.keys())[1]}
> -
> -		xid = startid
> -		while xid in xkeys:
> -			xid += 1
> -		print('%s/%03d' % (group, xid))
> -
> -if __name__ == '__main__':
> -	if 'nextid' in sys.argv[0]:
> -		nextid_main()
> -	else:
> -		sort_main()


-- 
chandan



[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