Message ID | 162317282778.653489.13112698258806159936.stgit@locust (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fstests: move test group lists into test files | expand |
On 08 Jun 2021 at 22:50, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Remove all the code that manages group files, since we now generate > them at build time. > Looks good. Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com> > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- > 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()
On 6/8/21 10:20 AM, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Remove all the code that manages group files, since we now generate > them at build time. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> Ok, looks ok Reviewed-by: Allison Henderson <allison.henderson@oracle.com> > --- > 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() >
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()