* [PATCH 01/10] fstests: fix group check in new script
2021-05-26 1:46 [PATCHSET RFC 00/10] fstests: move test group lists into test files Darrick J. Wong
@ 2021-05-26 1:46 ` Darrick J. Wong
2021-05-26 1:46 ` [PATCH 02/10] fstests: refactor setting test sequence number variables Darrick J. Wong
` (10 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Darrick J. Wong @ 2021-05-26 1:46 UTC (permalink / raw)
To: djwong, guaneryu; +Cc: linux-xfs, fstests, guan
From: Darrick J. Wong <djwong@kernel.org>
In the tests/*/group files, group names are found in the Nth columns of
the file, where N > 1. The grep expression to warn about unknown groups
is not correct (since it currently checks column 1), so fix this.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
new | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/new b/new
index bb427f0d..357983d9 100755
--- a/new
+++ b/new
@@ -243,10 +243,7 @@ else
#
for g in $*
do
- if grep "^$g[ ]" $tdir/group >/dev/null
- then
- :
- else
+ if ! grep -q "[[:space:]]$g" "$tdir/group"; then
echo "Warning: group \"$g\" not defined in $tdir/group"
fi
done
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 02/10] fstests: refactor setting test sequence number variables
2021-05-26 1:46 [PATCHSET RFC 00/10] fstests: move test group lists into test files Darrick J. Wong
2021-05-26 1:46 ` [PATCH 01/10] fstests: fix group check in new script Darrick J. Wong
@ 2021-05-26 1:46 ` Darrick J. Wong
2021-05-26 1:46 ` [PATCH 03/10] fstests: add tool migrate group membership data to test files Darrick J. Wong
` (9 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Darrick J. Wong @ 2021-05-26 1:46 UTC (permalink / raw)
To: djwong, guaneryu; +Cc: linux-xfs, fstests, guan
From: Darrick J. Wong <djwong@kernel.org>
Create a helper function to set the seq and seqnum variables. We will
expand on this in the next patch so that fstests can autogenerate group
files from now on.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
common/test_names | 13 +++++++++++++
new | 8 ++------
2 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/common/test_names b/common/test_names
index 98af40cd..3b0b889a 100644
--- a/common/test_names
+++ b/common/test_names
@@ -10,3 +10,16 @@
#
VALID_TEST_ID="[0-9]\{3\}"
VALID_TEST_NAME="$VALID_TEST_ID-\?[[:alnum:]-]*"
+
+# Initialize the global seq, seqres, here, tmp, and status variables to their
+# defaults. Group memberships are the only arguments to this helper.
+_set_seq_and_groups()
+{
+ seq=`basename $0`
+ seqres=$RESULT_DIR/$seq
+ echo "QA output created by $seq"
+
+ here=`pwd`
+ tmp=/tmp/$$
+ status=1 # failure is the default!
+}
diff --git a/new b/new
index 357983d9..59e53d08 100755
--- a/new
+++ b/new
@@ -153,13 +153,9 @@ cat <<End-of-File >$tdir/$id
#
# what am I here for?
#
-seq=\`basename \$0\`
-seqres=\$RESULT_DIR/\$seq
-echo "QA output created by \$seq"
+. ./common/test_names
+_set_seq_and_groups other
-here=\`pwd\`
-tmp=/tmp/\$\$
-status=1 # failure is the default!
trap "_cleanup; exit \\\$status" 0 1 2 3 15
_cleanup()
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 03/10] fstests: add tool migrate group membership data to test files
2021-05-26 1:46 [PATCHSET RFC 00/10] fstests: move test group lists into test files Darrick J. Wong
2021-05-26 1:46 ` [PATCH 01/10] fstests: fix group check in new script Darrick J. Wong
2021-05-26 1:46 ` [PATCH 02/10] fstests: refactor setting test sequence number variables Darrick J. Wong
@ 2021-05-26 1:46 ` Darrick J. Wong
2021-05-26 1:47 ` [PATCH 04/10] fstests: move test group info " Darrick J. Wong
` (8 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Darrick J. Wong @ 2021-05-26 1:46 UTC (permalink / raw)
To: djwong, guaneryu; +Cc: linux-xfs, fstests, guan
From: Darrick J. Wong <djwong@kernel.org>
Create a tool to migrate the mapping of tests <-> groups out of the
group file and into the individual test file as a _set_seq_and_groups
call. In the next patches we'll rewrite all the test files and auto
generate the group files from the tests.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
tools/convert-group | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100755 tools/convert-group
diff --git a/tools/convert-group b/tools/convert-group
new file mode 100755
index 00000000..e7af10e0
--- /dev/null
+++ b/tools/convert-group
@@ -0,0 +1,64 @@
+#!/bin/bash
+
+# Move group tags from the groups file into the test files themselves.
+
+if [ -z "$1" ] || [ "$1" = "--help" ]; then
+ echo "Usage: $0 test_dir [test_dirs...]"
+ exit 1
+fi
+
+obliterate_group_file() {
+ sed -e 's/^#.*$//g' < group | while read test groups; do
+ if [ -z "$test" ]; then
+ continue;
+ elif [ ! -e "$test" ]; then
+ echo "Ignoring unknown test file \"$test\"."
+ continue
+ fi
+ sed -e '/^seqres=\$RESULT_DIR\/\$seq$/d' \
+ -e '/^echo "QA output created by \$seq"$/d' \
+ -e '/^here=`pwd`$/d' \
+ -e '/^tmp=\/tmp\/\$\$$/d' \
+ -e '/^status=1.*failure.*is.*the.*default/d' \
+ -e '/^status=1.*FAILure.*is.*the.*default/d' \
+ -e '/^status=1.*success.*is.*the.*default/d' \
+ -e '/^status=1.*default.*failure/d' \
+ -e '/^echo.*QA output created by.*seq/d' \
+ -e 's|^seq=.*$|. ./common/test_names\n_set_seq_and_groups '"$groups"'|g' \
+ -i "$test"
+ if grep -q '^status=1$' "$test"; then
+ # Replace the "status=1" lines that don't have the usual
+ # "failure is the default" message if there's no other
+ # code between _set_seq_and_groups and status=1.
+ awk '
+BEGIN {
+ saw_groupinfo = 0;
+}
+{
+ if ($0 ~ /^_set_seq_and_groups/) {
+ saw_groupinfo = 1;
+ printf("%s\n", $0);
+ } else if ($0 ~ /^status=1$/) {
+ if (saw_groupinfo == 0) {
+ printf("%s\n", $0);
+ }
+ } else if ($0 == "") {
+ printf("\n");
+ } else {
+ saw_groupinfo = 0;
+ printf("%s\n", $0);
+ }
+}
+' < "$test" > "$test.new"
+ cat "$test.new" > "$test"
+ rm -f "$test.new"
+ fi
+ done
+}
+
+curr_dir="$PWD"
+for tdir in "$@"; do
+ cd "tests/$tdir"
+ obliterate_group_file
+ cd "$curr_dir"
+done
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 04/10] fstests: move test group info to test files
2021-05-26 1:46 [PATCHSET RFC 00/10] fstests: move test group lists into test files Darrick J. Wong
` (2 preceding siblings ...)
2021-05-26 1:46 ` [PATCH 03/10] fstests: add tool migrate group membership data to test files Darrick J. Wong
@ 2021-05-26 1:47 ` Darrick J. Wong
2021-06-03 4:58 ` Eric Biggers
2021-05-26 1:47 ` [PATCH 05/10] fstests: clean up open-coded golden output Darrick J. Wong
` (7 subsequent siblings)
11 siblings, 1 reply; 20+ messages in thread
From: Darrick J. Wong @ 2021-05-26 1:47 UTC (permalink / raw)
To: djwong, guaneryu; +Cc: linux-xfs, fstests, guan
From: Darrick J. Wong <djwong@kernel.org>
Migrate all the test group information into the test files. This patch
has been autogenerated via the command:
./tools/convert-group btrfs ceph cifs ext4 f2fs generic nfs ocfs2 overlay perf shared udf xfs
(NOTE: I truncated this patch to the first five conversions because
nobody wants to read a 1MB patch LOL)
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
tests/btrfs/001 | 8 ++------
tests/btrfs/002 | 8 ++------
tests/btrfs/003 | 8 ++------
tests/btrfs/004 | 8 ++------
4 files changed, 8 insertions(+), 24 deletions(-)
diff --git a/tests/btrfs/001 b/tests/btrfs/001
index fb051e8a..2248b6f6 100755
--- a/tests/btrfs/001
+++ b/tests/btrfs/001
@@ -6,13 +6,9 @@
#
# Test btrfs's subvolume and snapshot support
#
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
+. ./common/test_names
+_set_seq_and_groups auto quick subvol snapshot
-here=`pwd`
-tmp=/tmp/$$
-status=1 # failure is the default!
_cleanup()
{
diff --git a/tests/btrfs/002 b/tests/btrfs/002
index 66775562..4de0a3d7 100755
--- a/tests/btrfs/002
+++ b/tests/btrfs/002
@@ -6,13 +6,9 @@
#
# Extented btrfs snapshot test cases
#
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
+. ./common/test_names
+_set_seq_and_groups auto snapshot
-here=`pwd`
-tmp=/tmp/$$
-status=1 # failure is the default!
_cleanup()
{
diff --git a/tests/btrfs/003 b/tests/btrfs/003
index fbb313fb..f1e06af5 100755
--- a/tests/btrfs/003
+++ b/tests/btrfs/003
@@ -6,13 +6,9 @@
#
# btrfs vol tests
#
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
+. ./common/test_names
+_set_seq_and_groups auto replace volume balance
-here=`pwd`
-tmp=/tmp/$$
-status=1 # failure is the default!
dev_removed=0
removed_dev_htl=""
trap "_cleanup; exit \$status" 0 1 2 3 15
diff --git a/tests/btrfs/004 b/tests/btrfs/004
index 0458d2b6..d7071d80 100755
--- a/tests/btrfs/004
+++ b/tests/btrfs/004
@@ -9,13 +9,9 @@
# run filefrag to get the extent mapping and follow the backrefs.
# We check to end up back at the original file with the correct offset.
#
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
+. ./common/test_names
+_set_seq_and_groups auto rw metadata
-here=`pwd`
-tmp=/tmp/$$
-status=1
noise_pid=0
_cleanup()
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH 04/10] fstests: move test group info to test files
2021-05-26 1:47 ` [PATCH 04/10] fstests: move test group info " Darrick J. Wong
@ 2021-06-03 4:58 ` Eric Biggers
2021-06-03 15:23 ` Darrick J. Wong
0 siblings, 1 reply; 20+ messages in thread
From: Eric Biggers @ 2021-06-03 4:58 UTC (permalink / raw)
To: Darrick J. Wong; +Cc: guaneryu, linux-xfs, fstests, guan
On Tue, May 25, 2021 at 06:47:04PM -0700, Darrick J. Wong wrote:
> diff --git a/tests/btrfs/001 b/tests/btrfs/001
> index fb051e8a..2248b6f6 100755
> --- a/tests/btrfs/001
> +++ b/tests/btrfs/001
> @@ -6,13 +6,9 @@
> #
> # Test btrfs's subvolume and snapshot support
> #
> -seq=`basename $0`
> -seqres=$RESULT_DIR/$seq
> -echo "QA output created by $seq"
> +. ./common/test_names
> +_set_seq_and_groups auto quick subvol snapshot
The naming is a little weird here. This feels more like a common preamble,
especially given that it also sets $here, $tmp, and $status -- not just the test
groups. Maybe it should look like:
. ./common/preamble
_begin_fstest quick subvol snapshot
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 04/10] fstests: move test group info to test files
2021-06-03 4:58 ` Eric Biggers
@ 2021-06-03 15:23 ` Darrick J. Wong
0 siblings, 0 replies; 20+ messages in thread
From: Darrick J. Wong @ 2021-06-03 15:23 UTC (permalink / raw)
To: Eric Biggers; +Cc: guaneryu, linux-xfs, fstests, guan
On Wed, Jun 02, 2021 at 09:58:03PM -0700, Eric Biggers wrote:
> On Tue, May 25, 2021 at 06:47:04PM -0700, Darrick J. Wong wrote:
> > diff --git a/tests/btrfs/001 b/tests/btrfs/001
> > index fb051e8a..2248b6f6 100755
> > --- a/tests/btrfs/001
> > +++ b/tests/btrfs/001
> > @@ -6,13 +6,9 @@
> > #
> > # Test btrfs's subvolume and snapshot support
> > #
> > -seq=`basename $0`
> > -seqres=$RESULT_DIR/$seq
> > -echo "QA output created by $seq"
> > +. ./common/test_names
> > +_set_seq_and_groups auto quick subvol snapshot
>
> The naming is a little weird here. This feels more like a common preamble,
> especially given that it also sets $here, $tmp, and $status -- not just the test
> groups. Maybe it should look like:
>
> . ./common/preamble
> _begin_fstest quick subvol snapshot
I like that much better than my current names! Will fix for v2.
--D
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 05/10] fstests: clean up open-coded golden output
2021-05-26 1:46 [PATCHSET RFC 00/10] fstests: move test group lists into test files Darrick J. Wong
` (3 preceding siblings ...)
2021-05-26 1:47 ` [PATCH 04/10] fstests: move test group info " Darrick J. Wong
@ 2021-05-26 1:47 ` Darrick J. Wong
2021-05-26 1:47 ` [PATCH 06/10] fstests: automatically generate group files Darrick J. Wong
` (6 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Darrick J. Wong @ 2021-05-26 1:47 UTC (permalink / raw)
To: djwong, guaneryu; +Cc: linux-xfs, fstests, guan
From: Darrick J. Wong <djwong@kernel.org>
Fix the handful of tests that open-coded 'QA output created by XXX'.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
tests/btrfs/006.out | 2 +-
tests/btrfs/012.out | 2 +-
tests/generic/184.out | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/btrfs/006.out b/tests/btrfs/006.out
index a9769721..b7f29f96 100644
--- a/tests/btrfs/006.out
+++ b/tests/btrfs/006.out
@@ -1,4 +1,4 @@
-== QA output created by 006
+QA output created by 006
== Set filesystem label to TestLabel.006
== Get filesystem label
TestLabel.006
diff --git a/tests/btrfs/012.out b/tests/btrfs/012.out
index 2a41e7e4..7aa5ae94 100644
--- a/tests/btrfs/012.out
+++ b/tests/btrfs/012.out
@@ -1 +1 @@
-== QA output created by 012
+QA output created by 012
diff --git a/tests/generic/184.out b/tests/generic/184.out
index 2d19691d..4c300543 100644
--- a/tests/generic/184.out
+++ b/tests/generic/184.out
@@ -1 +1 @@
-QA output created by 184 - silence is golden
+QA output created by 184
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 06/10] fstests: automatically generate group files
2021-05-26 1:46 [PATCHSET RFC 00/10] fstests: move test group lists into test files Darrick J. Wong
` (4 preceding siblings ...)
2021-05-26 1:47 ` [PATCH 05/10] fstests: clean up open-coded golden output Darrick J. Wong
@ 2021-05-26 1:47 ` Darrick J. Wong
2021-05-26 1:47 ` [PATCH 07/10] fstests: convert nextid to use automatic group generation Darrick J. Wong
` (5 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Darrick J. Wong @ 2021-05-26 1:47 UTC (permalink / raw)
To: djwong, guaneryu; +Cc: linux-xfs, fstests, guan
From: Darrick J. Wong <djwong@kernel.org>
Now that we've moved the group membership details into the test case
files themselves, automatically generate the group files during build.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
common/test_names | 6 ++++++
include/buildrules | 6 ++++++
tests/Makefile | 4 ++++
tests/btrfs/Makefile | 3 +++
tests/ceph/Makefile | 3 +++
tests/cifs/Makefile | 3 +++
tests/ext4/Makefile | 3 +++
tests/f2fs/Makefile | 3 +++
tests/generic/Makefile | 3 +++
tests/nfs/Makefile | 3 +++
tests/ocfs2/Makefile | 3 +++
tests/overlay/Makefile | 3 +++
tests/perf/Makefile | 3 +++
tests/shared/Makefile | 3 +++
tests/udf/Makefile | 3 +++
tests/xfs/Makefile | 3 +++
tools/mkgroupfile | 37 +++++++++++++++++++++++++++++++++++++
17 files changed, 92 insertions(+)
create mode 100755 tools/mkgroupfile
diff --git a/common/test_names b/common/test_names
index 3b0b889a..841f617e 100644
--- a/common/test_names
+++ b/common/test_names
@@ -16,6 +16,12 @@ VALID_TEST_NAME="$VALID_TEST_ID-\?[[:alnum:]-]*"
_set_seq_and_groups()
{
seq=`basename $0`
+
+ if [ -n "$GENERATE_GROUPS" ]; then
+ echo "$seq $@"
+ exit 0
+ fi
+
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
diff --git a/include/buildrules b/include/buildrules
index bf187662..6a3165fc 100644
--- a/include/buildrules
+++ b/include/buildrules
@@ -132,3 +132,9 @@ FILTER = $(basename $(EXTFILTER4) $(BASIC_OUTFILES))
# finally, select the test files by filtering against against the
# stripped output files and sort them to remove duplicates.
TESTS = $(sort $(filter $(ALLFILES), $(FILTER)))
+
+.PHONY: group
+
+group:
+ @echo " [GROUP] $$PWD/$@"
+ $(Q)$(TOPDIR)/tools/mkgroupfile $@
diff --git a/tests/Makefile b/tests/Makefile
index 8ce8f209..5c8f0b10 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -7,6 +7,10 @@ include $(TOPDIR)/include/builddefs
TESTS_SUBDIRS = $(sort $(dir $(wildcard $(CURDIR)/[[:lower:]]*/)))
+SUBDIRS = $(wildcard [[:lower:]]*)
+
+default: $(SUBDIRS)
+
include $(BUILDRULES)
install: $(addsuffix -install,$(TESTS_SUBDIRS))
diff --git a/tests/btrfs/Makefile b/tests/btrfs/Makefile
index 2d936421..8b74c9f1 100644
--- a/tests/btrfs/Makefile
+++ b/tests/btrfs/Makefile
@@ -7,6 +7,9 @@ include $(TOPDIR)/include/builddefs
BTRFS_DIR = btrfs
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(BTRFS_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tests/ceph/Makefile b/tests/ceph/Makefile
index 55e35d77..775e9e8c 100644
--- a/tests/ceph/Makefile
+++ b/tests/ceph/Makefile
@@ -5,6 +5,9 @@ include $(TOPDIR)/include/builddefs
CEPH_DIR = ceph
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(CEPH_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tests/cifs/Makefile b/tests/cifs/Makefile
index 0c5cf3be..491d4502 100644
--- a/tests/cifs/Makefile
+++ b/tests/cifs/Makefile
@@ -7,6 +7,9 @@ include $(TOPDIR)/include/builddefs
CIFS_DIR = cifs
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(CIFS_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tests/ext4/Makefile b/tests/ext4/Makefile
index beb1541f..7e9a6a34 100644
--- a/tests/ext4/Makefile
+++ b/tests/ext4/Makefile
@@ -7,6 +7,9 @@ include $(TOPDIR)/include/builddefs
EXT4_DIR = ext4
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(EXT4_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tests/f2fs/Makefile b/tests/f2fs/Makefile
index d13bca3f..53f95065 100644
--- a/tests/f2fs/Makefile
+++ b/tests/f2fs/Makefile
@@ -8,6 +8,9 @@ include $(TOPDIR)/include/builddefs
F2FS_DIR = f2fs
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(F2FS_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tests/generic/Makefile b/tests/generic/Makefile
index 3878d05c..3eaada13 100644
--- a/tests/generic/Makefile
+++ b/tests/generic/Makefile
@@ -7,6 +7,9 @@ include $(TOPDIR)/include/builddefs
GENERIC_DIR = generic
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GENERIC_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tests/nfs/Makefile b/tests/nfs/Makefile
index 754f2b25..80a2906c 100644
--- a/tests/nfs/Makefile
+++ b/tests/nfs/Makefile
@@ -7,6 +7,9 @@ include $(TOPDIR)/include/builddefs
NFS_DIR = nfs
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(NFS_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tests/ocfs2/Makefile b/tests/ocfs2/Makefile
index e1337908..6a550362 100644
--- a/tests/ocfs2/Makefile
+++ b/tests/ocfs2/Makefile
@@ -7,6 +7,9 @@ include $(TOPDIR)/include/builddefs
OCFS2_DIR = ocfs2
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(OCFS2_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tests/overlay/Makefile b/tests/overlay/Makefile
index b07f8925..1c593a10 100644
--- a/tests/overlay/Makefile
+++ b/tests/overlay/Makefile
@@ -7,6 +7,9 @@ include $(TOPDIR)/include/builddefs
TEST_DIR = overlay
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(TEST_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tests/perf/Makefile b/tests/perf/Makefile
index 620f1dbf..766de244 100644
--- a/tests/perf/Makefile
+++ b/tests/perf/Makefile
@@ -7,6 +7,9 @@ include $(TOPDIR)/include/builddefs
PERF_DIR = perf
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(PERF_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tests/shared/Makefile b/tests/shared/Makefile
index 8a832782..6b0d5a39 100644
--- a/tests/shared/Makefile
+++ b/tests/shared/Makefile
@@ -7,6 +7,9 @@ include $(TOPDIR)/include/builddefs
SHARED_DIR = shared
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(SHARED_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tests/udf/Makefile b/tests/udf/Makefile
index c9c9f1bd..84231c57 100644
--- a/tests/udf/Makefile
+++ b/tests/udf/Makefile
@@ -7,6 +7,9 @@ include $(TOPDIR)/include/builddefs
UDF_DIR = udf
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(UDF_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tests/xfs/Makefile b/tests/xfs/Makefile
index d64800ea..55eccb5f 100644
--- a/tests/xfs/Makefile
+++ b/tests/xfs/Makefile
@@ -7,6 +7,9 @@ include $(TOPDIR)/include/builddefs
XFS_DIR = xfs
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(XFS_DIR)
+DIRT = group
+
+default: $(DIRT)
include $(BUILDRULES)
diff --git a/tools/mkgroupfile b/tools/mkgroupfile
new file mode 100755
index 00000000..0b541146
--- /dev/null
+++ b/tools/mkgroupfile
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# Generate a group file from the _set_test_seqnum call in each test.
+
+if [ "$1" = "--help" ]; then
+ echo "Usage: (cd tests/XXX/ ; ../../tools/mkgroupfile [output])"
+ exit 1
+fi
+
+test_dir="$PWD"
+groupfile="$1"
+
+generate_groupfile() {
+ cat << ENDL
+# QA groups control file, automatically generated.
+# See _set_seq_and_groups in each test for details.
+
+ENDL
+ cd ../../
+ export GENERATE_GROUPS=yes
+ grep -R -l "^_set_seq_and_groups" "$test_dir/" 2>/dev/null | while read testfile; do
+ test -x "$testfile" && "$testfile"
+ done | sort -g
+ cd "$test_dir"
+}
+
+if [ -z "$groupfile" ] || [ "$groupfile" = "-" ]; then
+ # Dump the group file to stdout and exit
+ generate_groupfile
+ exit 0
+fi
+
+# Otherwise, write the group file to disk somewhere.
+ngroupfile="${groupfile}.new"
+rm -f "$ngroupfile"
+generate_groupfile >> "$ngroupfile"
+mv "$ngroupfile" "$groupfile"
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 07/10] fstests: convert nextid to use automatic group generation
2021-05-26 1:46 [PATCHSET RFC 00/10] fstests: move test group lists into test files Darrick J. Wong
` (5 preceding siblings ...)
2021-05-26 1:47 ` [PATCH 06/10] fstests: automatically generate group files Darrick J. Wong
@ 2021-05-26 1:47 ` Darrick J. Wong
2021-05-26 1:47 ` [PATCH 08/10] fstests: adapt the new test script to our new group tagging scheme Darrick J. Wong
` (4 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Darrick J. Wong @ 2021-05-26 1:47 UTC (permalink / raw)
To: djwong, guaneryu; +Cc: linux-xfs, fstests, guan
From: Darrick J. Wong <djwong@kernel.org>
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@kernel.org>
---
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
+
+. ./common/test_names
+
+line=0
+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 - ' ')
+
+if [ $eof -eq 1 ]; then
+ line=$((line+1))
+ i=$((i+1))
+ id=`printf "%03d" $i`
+fi
+
+echo "$1/$id"
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 08/10] fstests: adapt the new test script to our new group tagging scheme
2021-05-26 1:46 [PATCHSET RFC 00/10] fstests: move test group lists into test files Darrick J. Wong
` (6 preceding siblings ...)
2021-05-26 1:47 ` [PATCH 07/10] fstests: convert nextid to use automatic group generation Darrick J. Wong
@ 2021-05-26 1:47 ` Darrick J. Wong
2021-05-26 1:47 ` [PATCH 09/10] fstests: remove group files Darrick J. Wong
` (3 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Darrick J. Wong @ 2021-05-26 1:47 UTC (permalink / raw)
To: djwong, guaneryu; +Cc: linux-xfs, fstests, guan
From: Darrick J. Wong <djwong@kernel.org>
Now that we autogenerate group files, adapt the new test creation script
to use autogenerated group files and to set the group data in the new
test.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
new | 179 ++++++++++++++++++++-----------------------------------------------
1 file changed, 54 insertions(+), 125 deletions(-)
diff --git a/new b/new
index 59e53d08..887ec4bb 100755
--- a/new
+++ b/new
@@ -9,7 +9,8 @@
iam=new
. ./common/test_names
-trap "rm -f /tmp/$$.; exit" 0 1 2 3 15
+tmpfile="/tmp/$$."
+trap "rm -f $tmpfile; exit" 0 1 2 3 15
_cleanup()
{
@@ -26,71 +27,18 @@ usage()
[ $# -eq 0 ] && usage
tdir=tests/$1
-shift
-
-if [ ! -f $tdir/group ]
-then
- echo "Creating the $tdir/group index ..."
- cat <<'End-of-File' >$tdir/group
-# QA groups control
-#
-# define groups and default group owners
-# do not start group name with a digit
-#
-
-# catch-all
-#
-other some-user-login
-
-# test-group association ... one line per test
-#
-End-of-File
-fi
-
-if [ ! -w $tdir/group ]
-then
- chmod u+w $tdir/group
- echo "Warning: making the index file \"$tdir/group\" writeable"
-fi
-
-if make
-then
- :
-else
- echo "Warning: make failed -- some tests may be missing"
-fi
i=0
line=0
eof=1
-[ -f "$tdir/group" ] || usage
+[ -d "$tdir/" ] || usage
export AWK_PROG="$(type -P awk)"
[ "$AWK_PROG" = "" ] && { echo "awk not found"; exit; }
-for found in `cat $tdir/group | tr - ' ' | $AWK_PROG '{ print $1 }'`
-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
-if [ $eof -eq 1 ]; then
- line=$((line+1))
- i=$((i+1))
- id=`printf "%03d" $i`
-fi
-
+id="$(basename "$(./tools/nextid "$1")")"
echo "Next test id is $id"
+shift
read -p "Append a name to the ID? Test name will be $id-\$name. y,[n]: " -r
if [[ $REPLY = [Yy] ]]; then
@@ -113,24 +61,9 @@ if [[ $REPLY = [Yy] ]]; then
fi
done
- # now find where to insert this name
- eof=1
- for found in `tail -n +$line $tdir/group | $AWK_PROG '{ print $1 }'`; do
- found_id=$(echo "$found" | cut -d "-" -f 1 - )
- line=$((line+1))
- if [ -z "$found" ] || [ "$found" == "#" ]; then
- continue
- elif [ $found_id -gt $id ]; then
- eof=0
- break
- fi
- done
- if [ $eof -eq 0 ]; then
- # If place wasn't found, let $line be the end of the file
- line=$((line-1))
- fi
id="$id-$name"
fi
+
echo "Creating test file '$id'"
if [ -f $tdir/$id ]
@@ -140,6 +73,53 @@ then
exit 1
fi
+if [ $# -eq 0 ]
+then
+
+ while true
+ do
+ echo -n "Add to group(s) [other] (separate by space, ? for list): "
+ read ans
+ [ -z "$ans" ] && ans=other
+ if [ "X$ans" = "X?" ]
+ then
+ for d in $SRC_GROUPS; do
+ (cd "tests/$d/" ; ../../tools/mkgroupfile "$tmpfile")
+ l=$(set -n < "$tmpfile" \
+ -e 's/#.*//' \
+ -e 's/$/ /' \
+ -e 's;\(^[0-9][0-9][0-9]\)\(.*$\);\2;p')
+ grpl="$grpl $l"
+ done
+ lst=`for word in $grpl; do echo $word; done | sort| uniq `
+ echo $lst
+ else
+ # 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
+ # expert mode, groups are on the command line
+ #
+ (cd "$tdir" ; ../../tools/mkgroupfile "$tmpfile")
+ for g in $*
+ do
+ if ! grep -q "[[:space:]]$g" "$tmpfile"; then
+ echo "Warning: group \"$g\" not defined in $tdir tests"
+ fi
+ done
+ ans="$*"
+fi
+
echo -n "Creating skeletal script for you to edit ..."
year=`date +%Y`
@@ -154,7 +134,7 @@ cat <<End-of-File >$tdir/$id
# what am I here for?
#
. ./common/test_names
-_set_seq_and_groups other
+_set_seq_and_groups $ans
trap "_cleanup; exit \\\$status" 0 1 2 3 15
@@ -201,56 +181,5 @@ QA output created by $id
Silence is golden
End-of-File
-if [ $# -eq 0 ]
-then
-
- while true
- do
- echo -n "Add to group(s) [other] (separate by space, ? for list): "
- read ans
- [ -z "$ans" ] && ans=other
- if [ "X$ans" = "X?" ]
- then
- for d in $SRC_GROUPS; do
- l=$(sed -n < tests/$d/group \
- -e 's/#.*//' \
- -e 's/$/ /' \
- -e 's;\(^[0-9][0-9][0-9]\)\(.*$\);\2;p')
- grpl="$grpl $l"
- done
- lst=`for word in $grpl; do echo $word; done | sort| uniq `
- echo $lst
- else
- # 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
- # expert mode, groups are on the command line
- #
- for g in $*
- do
- if ! grep -q "[[:space:]]$g" "$tdir/group"; then
- echo "Warning: group \"$g\" not defined in $tdir/group"
- fi
- done
- ans="$*"
-fi
-
-echo -n "Adding $id to group index ..."
-head -n $(($line-1)) $tdir/group > /tmp/$$.group
-echo "$id $ans" >> /tmp/$$.group
-tail -n +$((line)) $tdir/group >> /tmp/$$.group
-mv /tmp/$$.group $tdir/group
echo " done."
-
exit 0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 09/10] fstests: remove group files
2021-05-26 1:46 [PATCHSET RFC 00/10] fstests: move test group lists into test files Darrick J. Wong
` (7 preceding siblings ...)
2021-05-26 1:47 ` [PATCH 08/10] fstests: adapt the new test script to our new group tagging scheme Darrick J. Wong
@ 2021-05-26 1:47 ` Darrick J. Wong
2021-05-26 1:47 ` [PATCH 10/10] fstests: remove test group management code Darrick J. Wong
` (2 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Darrick J. Wong @ 2021-05-26 1:47 UTC (permalink / raw)
To: djwong, guaneryu; +Cc: linux-xfs, fstests, guan
From: Darrick J. Wong <djwong@kernel.org>
Now that we autogenerate group files, get rid of them in the source
tree.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
tests/btrfs/group | 244 -------------------
tests/ceph/group | 4
tests/cifs/group | 6
tests/ext4/group | 62 -----
tests/f2fs/group | 7 -
tests/generic/group | 662 ---------------------------------------------------
tests/nfs/group | 6
tests/ocfs2/group | 1
tests/overlay/group | 100 --------
tests/perf/group | 1
tests/shared/group | 8 -
tests/udf/group | 6
tests/xfs/group | 622 ------------------------------------------------
13 files changed, 1729 deletions(-)
delete mode 100644 tests/btrfs/group
delete mode 100644 tests/ceph/group
delete mode 100644 tests/cifs/group
delete mode 100644 tests/ext4/group
delete mode 100644 tests/f2fs/group
delete mode 100644 tests/generic/group
delete mode 100644 tests/nfs/group
delete mode 100644 tests/ocfs2/group
delete mode 100644 tests/overlay/group
delete mode 100644 tests/perf/group
delete mode 100644 tests/shared/group
delete mode 100644 tests/udf/group
delete mode 100644 tests/xfs/group
diff --git a/tests/btrfs/group b/tests/btrfs/group
deleted file mode 100644
index d7f2f3e5..00000000
--- a/tests/btrfs/group
+++ /dev/null
@@ -1,244 +0,0 @@
-# QA groups control file
-# Defines test groups and nominal group owners
-# - do not start group names with a digit
-# - comment line before each group is "new" description
-#
-001 auto quick subvol snapshot
-002 auto snapshot
-003 auto replace volume balance
-004 auto rw metadata
-005 auto defrag
-006 auto quick volume
-007 auto quick rw metadata send seek
-008 auto quick send
-009 auto quick subvol
-010 auto
-011 auto replace volume
-012 auto convert
-013 auto quick balance
-014 auto balance
-015 auto quick snapshot
-016 auto quick send
-017 auto quick qgroup
-018 auto quick subvol
-019 auto quick send
-020 auto quick replace volume
-021 auto quick balance defrag
-022 auto qgroup limit
-023 auto
-024 auto quick compress
-025 auto quick send clone
-026 auto quick compress prealloc
-027 auto replace volume
-028 auto qgroup balance
-029 auto quick clone
-030 auto quick send
-031 auto quick subvol clone
-032 auto quick remount
-033 auto quick send snapshot
-034 auto quick send
-035 auto quick clone
-036 auto quick send snapshot
-037 auto quick compress
-038 auto quick compress send
-039 auto quick send
-040 auto quick send
-041 auto quick compress
-042 auto quick qgroup limit
-043 auto quick send
-044 auto quick send
-045 auto quick send
-046 auto quick send
-047 auto quick snapshot attr
-048 auto quick
-049 auto quick
-050 auto quick send
-051 auto quick send
-052 auto quick clone
-053 auto quick send
-054 auto quick send
-055 auto quick clone
-056 auto quick clone log
-057 auto quick
-058 auto quick send snapshot
-059 auto quick
-060 auto balance subvol
-061 auto balance scrub
-062 auto balance defrag compress
-063 auto balance remount compress
-064 auto balance replace volume
-065 auto subvol replace volume
-066 auto subvol scrub
-067 auto subvol defrag compress
-068 auto subvol remount compress
-069 auto replace scrub volume
-070 auto replace defrag compress volume
-071 auto replace remount compress volume
-072 auto scrub defrag compress
-073 auto scrub remount compress
-074 auto defrag remount compress
-075 auto quick subvol
-076 auto quick compress
-077 auto quick send snapshot
-078 auto snapshot
-079 auto rw metadata
-080 auto snapshot
-081 auto quick clone
-082 auto quick remount
-083 auto quick send
-084 auto quick send
-085 auto quick metadata subvol
-086 auto quick clone
-087 auto quick send
-088 auto quick metadata
-089 auto quick subvol
-090 auto quick metadata
-091 auto quick qgroup
-092 auto quick send
-093 auto quick clone
-094 auto quick send
-095 auto quick metadata log
-096 auto quick clone
-097 auto quick send clone
-098 auto quick metadata clone log
-099 auto quick qgroup limit
-100 auto replace volume eio
-101 auto replace volume eio
-102 auto quick metadata enospc balance
-103 auto quick clone compress
-104 auto qgroup
-105 auto quick send
-106 auto quick clone compress
-107 auto quick prealloc
-108 auto quick send clone punch
-109 auto quick send clone compress
-110 auto quick send
-111 auto quick send
-112 auto quick clone
-113 auto quick compress clone
-114 auto qgroup
-115 auto qgroup
-116 auto quick metadata
-117 auto quick send clone
-118 auto quick snapshot metadata log
-119 auto quick snapshot metadata qgroup log
-120 auto quick snapshot metadata log
-121 auto quick snapshot qgroup
-122 auto quick snapshot qgroup
-123 auto quick qgroup balance
-124 auto replace volume balance
-125 replace volume balance
-126 auto quick qgroup limit
-127 auto quick send
-128 auto quick send
-129 auto quick send
-130 auto quick clone send
-131 auto quick
-132 auto enospc
-133 auto quick send
-134 auto quick send
-135 auto quick send
-136 auto convert
-137 auto quick send
-138 auto compress
-139 auto qgroup limit
-140 auto quick
-141 auto quick
-142 auto quick
-143 auto quick
-144 auto quick send
-145 auto quick send
-146 auto quick eio
-147 auto quick send
-148 auto quick rw
-149 auto quick send compress
-150 auto quick dangerous
-151 auto quick volume
-152 auto quick metadata qgroup send
-153 auto quick qgroup limit
-154 auto quick
-155 auto quick send
-156 auto quick trim balance
-157 auto quick raid
-158 auto quick raid scrub
-159 auto quick punch log
-160 auto quick eio
-161 auto quick volume seed
-162 auto quick volume seed
-163 auto quick volume seed
-164 auto quick volume
-165 auto quick subvol
-166 auto quick qgroup
-167 auto quick replace volume
-168 auto quick send
-169 auto quick send
-170 auto quick snapshot
-171 auto quick qgroup
-172 auto quick log replay
-173 auto quick swap
-174 auto quick swap
-175 auto quick swap volume
-176 auto quick swap volume
-177 auto quick swap balance
-178 auto quick send
-179 auto qgroup dangerous
-180 auto quick qgroup limit
-181 auto quick balance
-182 auto quick balance
-183 auto quick clone compress punch
-184 auto quick volume
-185 volume
-186 auto quick send volume
-187 auto send dedupe clone balance
-188 auto quick send prealloc punch
-189 auto quick send clone
-190 auto quick replay balance qgroup
-191 auto quick send dedupe
-192 auto replay snapshot stress
-193 auto quick qgroup enospc limit
-194 auto volume
-195 auto volume balance
-196 auto metadata log volume
-197 auto quick volume
-198 quick volume
-199 auto quick trim
-200 auto quick send clone
-201 auto quick punch log
-202 auto quick subvol snapshot
-203 auto quick send clone
-204 auto quick punch
-205 auto quick clone compress
-206 auto quick log replay
-207 auto rw raid
-208 auto quick subvol
-209 auto quick log
-210 auto quick qgroup snapshot
-211 auto quick log prealloc
-212 auto balance dangerous
-213 auto balance dangerous
-214 auto quick send snapshot
-215 auto quick
-216 auto quick seed
-217 auto quick trim dangerous
-218 auto quick volume
-219 auto quick volume
-220 auto quick
-221 auto quick send
-222 auto quick send
-223 auto quick replace trim
-224 auto quick qgroup
-225 auto quick volume seed
-226 auto quick rw snapshot clone prealloc punch
-227 auto quick send
-228 auto quick volume
-229 auto quick send clone
-230 auto quick qgroup limit
-231 auto quick clone log replay
-232 auto quick qgroup limit
-233 auto quick subvolume
-234 auto quick compress rw
-235 auto quick send
-236 auto quick log
-237 auto quick zone balance
-238 auto quick seed trim
-239 auto quick log
diff --git a/tests/ceph/group b/tests/ceph/group
deleted file mode 100644
index 47903d21..00000000
--- a/tests/ceph/group
+++ /dev/null
@@ -1,4 +0,0 @@
-001 auto quick copy
-002 auto quick copy
-003 auto quick copy
-004 auto quick quota
diff --git a/tests/cifs/group b/tests/cifs/group
deleted file mode 100644
index 6d07b1c4..00000000
--- a/tests/cifs/group
+++ /dev/null
@@ -1,6 +0,0 @@
-# QA groups control file
-# Defines test groups and nominal group owners
-# - do not start group names with a digit
-# - comment line before each group is "new" description
-#
-001 auto quick
diff --git a/tests/ext4/group b/tests/ext4/group
deleted file mode 100644
index 17d1d87b..00000000
--- a/tests/ext4/group
+++ /dev/null
@@ -1,62 +0,0 @@
-# QA groups control file
-# Defines test groups and nominal group owners
-# - do not start group names with a digit
-# - comment line before each group is "new" description
-#
-001 auto prealloc quick zero
-002 shutdown mount auto quick
-003 auto quick
-004 auto dump
-005 auto quick metadata ioctl rw
-006 dangerous_fuzzers
-007 fuzzers
-008 fuzzers
-009 fuzzers
-010 fuzzers
-011 fuzzers
-012 fuzzers
-013 fuzzers
-014 fuzzers
-015 fuzzers punch
-016 fuzzers
-017 fuzzers
-018 fuzzers
-019 fuzzers
-020 auto quick ioctl rw defrag
-021 auto quick
-022 auto quick attr dangerous
-023 auto quick scrub
-024 auto quick encrypt dangerous
-025 auto quick fuzzers dangerous
-026 auto quick attr
-027 auto quick fsmap
-028 auto quick fsmap
-029 auto quick fsmap
-030 auto quick dax
-031 auto quick dax
-032 auto quick ioctl resize
-033 auto ioctl resize
-034 auto quick quota
-035 auto quick resize
-036 auto quick
-037 auto quick
-038 auto quick
-039 auto enospc rw
-040 dangerous_fuzzers
-041 dangerous_fuzzers
-042 auto quick
-043 auto quick
-044 auto quick
-045 auto dir
-046 auto prealloc quick
-047 auto quick dax
-048 auto quick dir
-271 auto rw quick
-301 aio auto ioctl rw stress defrag
-302 aio auto ioctl rw stress defrag
-303 aio auto ioctl rw stress defrag
-304 aio auto ioctl rw stress defrag
-305 auto
-306 auto rw resize quick
-307 auto ioctl rw defrag
-308 auto ioctl rw prealloc quick defrag
diff --git a/tests/f2fs/group b/tests/f2fs/group
deleted file mode 100644
index 7cd42fe4..00000000
--- a/tests/f2fs/group
+++ /dev/null
@@ -1,7 +0,0 @@
-# QA groups control file
-# Defines test groups and nominal group owners
-# - do not start group names with a digit
-# - comment line before each group is "new" description
-#
-001 auto quick rw
-002 auto quick rw encrypt compress
diff --git a/tests/generic/group b/tests/generic/group
deleted file mode 100644
index 111ff71c..00000000
--- a/tests/generic/group
+++ /dev/null
@@ -1,662 +0,0 @@
-# QA groups control file
-# Defines test groups and nominal group owners
-# - do not start group names with a digit
-# - comment line before each group is "new" description
-#
-001 rw dir udf auto quick
-002 metadata udf auto quick
-003 atime auto quick
-004 auto quick
-005 dir udf auto quick
-006 dir udf auto quick
-007 dir udf auto quick
-008 auto quick prealloc zero
-009 auto quick prealloc zero
-010 other udf auto
-011 dir udf auto quick
-012 auto quick prealloc punch collapse
-013 other ioctl udf auto quick
-014 rw udf auto quick
-015 other auto quick enospc
-016 auto quick prealloc punch collapse
-017 auto prealloc collapse
-018 auto fsr quick defrag
-019 aio dangerous enospc rw stress
-020 metadata attr udf auto quick
-021 auto quick prealloc punch collapse
-022 auto quick prealloc punch collapse
-023 auto quick
-024 auto quick
-025 auto quick
-026 acl quick auto
-027 auto enospc
-028 auto quick
-029 auto quick rw
-030 auto quick rw
-031 auto quick prealloc rw collapse
-032 auto quick rw
-033 auto quick rw zero
-034 auto quick metadata log
-035 auto quick
-036 auto aio rw stress
-037 auto quick attr metadata
-038 auto stress trim
-039 metadata auto quick log
-040 metadata auto quick log
-041 metadata auto quick log
-042 shutdown rw punch zero
-043 shutdown metadata log auto
-044 shutdown metadata log auto
-045 shutdown metadata log auto
-046 shutdown metadata log auto
-047 shutdown metadata rw auto
-048 shutdown metadata rw auto
-049 shutdown metadata rw auto
-050 shutdown mount auto quick
-051 shutdown auto stress log metadata repair
-052 shutdown log auto quick
-053 acl repair auto quick
-054 shutdown log v2log auto
-055 shutdown log v2log auto quota stress
-056 metadata auto quick log
-057 metadata auto quick log
-058 auto quick prealloc punch insert
-059 metadata auto quick punch log
-060 auto quick prealloc punch insert
-061 auto quick prealloc punch insert
-062 attr udf auto quick
-063 auto quick prealloc punch insert
-064 auto quick prealloc collapse insert
-065 metadata auto quick log
-066 auto quick attr metadata log
-067 auto quick mount
-068 other auto freeze stress
-069 rw udf auto quick
-070 attr udf auto quick stress
-071 auto quick prealloc
-072 auto metadata stress collapse
-073 metadata auto quick log
-074 rw udf auto
-075 rw udf auto quick
-076 metadata rw udf auto quick stress
-077 acl attr auto enospc
-078 auto quick metadata
-079 auto quick ioctl metadata
-080 auto quick
-081 auto quick
-082 auto quick quota
-083 rw auto enospc stress
-084 auto metadata quick
-085 auto freeze mount
-086 auto prealloc preallocrw quick
-087 perms auto quick
-088 perms auto quick
-089 metadata auto
-090 metadata auto quick log
-091 rw auto quick
-092 auto quick prealloc
-093 attr cap auto
-094 auto quick prealloc
-095 auto rw stress
-096 auto prealloc quick zero
-097 attr auto quick
-098 auto quick metadata
-099 acl auto quick
-100 udf auto
-101 auto quick metadata log
-102 auto rw
-103 auto quick attr enospc
-104 auto quick metadata log
-105 acl auto quick
-106 auto quick metadata log
-107 auto quick metadata log
-108 auto quick rw
-109 auto metadata dir
-110 auto quick clone
-111 auto quick clone
-112 rw aio auto quick
-113 rw aio auto quick
-114 rw aio auto quick
-115 auto quick clone
-116 auto quick clone
-117 attr auto quick
-118 auto quick clone
-119 auto quick clone
-120 other atime auto quick
-121 auto quick clone dedupe
-122 auto quick clone dedupe
-123 perms auto quick
-124 pattern auto quick
-125 other pnfs
-126 perms auto quick
-127 rw auto
-128 perms auto quick
-129 rw auto quick
-130 pattern auto quick
-131 perms auto quick
-132 pattern auto
-133 rw auto
-134 auto quick clone
-135 metadata auto quick
-136 auto quick clone dedupe
-137 auto clone dedupe
-138 auto quick clone
-139 auto quick clone
-140 auto quick clone
-141 rw auto quick
-142 auto quick clone
-143 auto quick clone
-144 auto quick clone
-145 auto quick clone collapse
-146 auto quick clone punch
-147 auto quick clone insert
-148 auto quick clone
-149 auto quick clone zero
-150 auto quick clone
-151 auto quick clone
-152 auto quick clone punch
-153 auto quick clone collapse
-154 auto quick clone
-155 auto quick clone zero
-156 auto quick clone
-157 auto quick clone
-158 auto quick clone dedupe
-159 auto quick clone
-160 auto quick clone dedupe
-161 auto quick clone
-162 auto quick clone dedupe
-163 auto quick clone dedupe
-164 auto clone
-165 auto clone
-166 auto clone
-167 auto clone
-168 auto clone
-169 rw metadata auto quick
-170 auto clone
-171 auto quick clone
-172 auto quick clone
-173 auto quick clone
-174 auto quick clone
-175 auto clone
-176 auto clone punch
-177 auto quick prealloc metadata punch log
-178 auto quick clone punch
-179 auto quick clone punch
-180 auto quick clone zero
-181 auto quick clone
-182 auto quick clone dedupe
-183 auto quick clone
-184 metadata auto quick
-185 auto quick clone
-186 auto clone punch
-187 auto clone punch
-188 auto quick clone
-189 auto quick clone
-190 auto quick clone
-191 auto quick clone
-192 atime auto
-193 metadata auto quick
-194 auto quick clone
-195 auto quick clone
-196 auto quick clone
-197 auto quick clone
-198 auto aio quick
-199 auto quick clone punch
-200 auto quick clone punch
-201 auto quick clone
-202 auto quick clone
-203 auto quick clone
-204 metadata rw auto
-205 auto quick clone
-206 auto quick clone
-207 auto aio quick
-208 auto aio
-209 auto aio
-210 auto aio quick
-211 auto aio quick
-212 auto aio quick
-213 rw auto prealloc quick enospc
-214 rw auto prealloc quick
-215 auto metadata quick
-216 auto quick clone
-217 auto quick clone
-218 auto quick clone
-219 auto quota quick
-220 auto quick clone
-221 auto metadata quick
-222 auto quick clone
-223 auto quick
-224 auto
-225 auto quick
-226 auto enospc
-227 auto quick clone
-228 rw auto prealloc quick
-229 auto quick clone
-230 auto quota quick
-231 auto quota
-232 auto quota stress
-233 auto quota stress
-234 auto quota
-235 auto quota quick
-236 auto quick metadata
-237 auto quick acl
-238 auto quick clone
-239 auto aio rw
-240 auto aio quick rw
-241 auto
-242 auto clone
-243 auto clone
-244 auto quick quota
-245 auto quick dir
-246 auto quick rw
-247 auto quick rw
-248 auto quick rw
-249 auto quick rw
-250 auto quick prealloc rw eio
-251 ioctl trim
-252 auto quick prealloc rw eio
-253 auto quick clone
-254 auto quick clone punch
-255 auto quick prealloc punch
-256 auto quick punch
-257 dir auto quick
-258 auto quick bigtime
-259 auto quick clone zero
-260 auto quick trim
-261 auto quick clone collapse
-262 auto quick clone insert
-263 rw auto quick
-264 auto quick clone
-265 auto quick clone eio
-266 auto quick clone eio
-267 auto quick clone eio
-268 auto quick clone eio
-269 auto rw prealloc ioctl enospc stress
-270 auto quota rw prealloc ioctl enospc stress
-271 auto quick clone eio
-272 auto quick clone eio
-273 auto rw
-274 auto rw prealloc enospc
-275 auto rw enospc
-276 auto quick clone eio
-277 auto ioctl quick metadata
-278 auto quick clone eio
-279 auto quick clone eio
-280 auto quota freeze
-281 auto quick clone eio
-282 auto quick clone eio
-283 auto quick clone eio
-284 auto quick clone
-285 auto rw seek
-286 auto quick other seek
-287 auto quick clone
-288 auto quick ioctl trim
-289 auto quick clone
-290 auto quick clone
-291 auto quick clone
-292 auto quick clone
-293 auto quick clone
-294 auto quick
-295 auto quick clone
-296 auto quick clone
-297 auto clone
-298 auto clone
-299 auto aio enospc rw stress
-300 auto aio enospc preallocrw stress punch
-301 auto quick clone
-302 auto quick clone
-303 auto quick clone
-304 auto quick clone dedupe
-305 auto quick clone
-306 auto quick rw
-307 auto quick acl
-308 auto quick
-309 auto quick
-310 auto
-311 auto metadata log
-312 auto quick prealloc enospc
-313 auto quick
-314 auto quick
-315 auto quick rw prealloc
-316 auto quick punch
-317 auto metadata quick
-318 acl attr auto quick
-319 acl auto quick
-320 auto rw
-321 auto quick metadata log
-322 auto quick metadata log
-323 auto aio stress
-324 auto fsr quick defrag
-325 auto quick data log
-326 auto quick clone
-327 auto quick clone
-328 auto quick clone
-329 auto quick clone eio
-330 auto quick clone
-331 auto quick clone eio
-332 auto quick clone
-333 auto clone
-334 auto clone
-335 auto quick metadata log
-336 auto quick metadata log
-337 auto quick attr metadata
-338 auto quick rw eio
-339 auto dir
-340 auto
-341 auto quick metadata log
-342 auto quick metadata log
-343 auto quick metadata log
-344 auto
-345 auto
-346 auto quick rw
-347 auto quick rw thin
-348 auto quick metadata
-349 blockdev rw zero
-350 blockdev rw punch
-351 blockdev rw punch collapse insert zero
-352 auto clone
-353 auto quick clone
-354 auto
-355 auto quick
-356 auto quick clone swap
-357 auto quick clone swap
-358 auto quick clone
-359 auto quick clone
-360 auto quick metadata
-361 auto quick
-362 auto quick richacl
-363 auto quick richacl
-364 auto quick richacl
-365 auto quick richacl
-366 auto quick richacl
-367 auto quick richacl
-368 auto quick richacl
-369 auto quick richacl
-370 auto quick richacl
-371 auto quick enospc prealloc
-372 auto quick clone
-373 auto quick clone
-374 auto quick clone dedupe
-375 auto quick acl
-376 auto quick metadata log
-377 attr auto quick metadata
-378 auto quick metadata
-379 quota auto quick
-380 quota auto quick
-381 auto quick quota
-382 auto quick quota
-383 auto quick quota
-384 quota auto quick
-385 quota auto quick
-386 auto quick quota
-387 auto clone
-388 shutdown auto log metadata
-389 auto quick acl
-390 auto freeze stress
-391 auto quick rw
-392 shutdown auto quick metadata punch
-393 auto quick rw
-394 auto quick
-395 auto quick encrypt
-396 auto quick encrypt
-397 auto quick encrypt
-398 auto quick encrypt
-399 auto encrypt
-400 auto quick quota
-401 auto quick
-402 auto quick rw bigtime
-403 auto quick attr
-404 auto quick insert
-405 auto mkfs thin
-406 auto quick
-407 auto quick clone metadata
-408 auto quick clone dedupe metadata
-409 auto quick mount
-410 auto quick mount
-411 auto quick mount
-412 auto quick metadata
-413 auto quick dax
-414 auto quick clone
-415 auto clone punch
-416 auto enospc
-417 auto quick shutdown log
-418 auto rw
-419 auto quick encrypt
-420 auto quick punch
-421 auto quick encrypt dangerous
-422 auto quick
-423 auto quick
-424 auto quick
-425 auto quick attr
-426 auto quick exportfs
-427 auto quick aio rw
-428 auto quick dax
-429 auto encrypt
-430 auto quick copy_range
-431 auto quick copy_range
-432 auto quick copy_range
-433 auto quick copy_range
-434 auto quick copy_range
-435 auto encrypt
-436 auto quick rw seek prealloc
-437 auto quick dax
-438 auto
-439 auto quick punch
-440 auto quick encrypt
-441 auto quick eio
-442 blockdev eio
-443 auto quick rw
-444 auto quick acl
-445 auto quick rw seek prealloc
-446 auto quick rw punch
-447 auto clone punch
-448 auto quick rw seek
-449 auto quick acl attr enospc
-450 auto quick rw
-451 auto quick rw aio
-452 auto quick dax
-453 auto quick dir
-454 auto quick attr
-455 auto log replay
-456 auto quick metadata collapse zero prealloc
-457 auto log replay clone
-458 auto quick clone collapse insert zero
-459 auto freeze thin
-460 auto quick rw
-461 auto shutdown stress
-462 auto quick dax
-463 auto quick clone
-464 auto rw
-465 auto rw quick aio
-466 auto quick rw
-467 auto quick exportfs
-468 shutdown auto quick metadata
-469 auto quick punch zero
-470 auto quick dax
-471 auto quick rw
-472 auto quick swap
-473 broken
-474 auto quick shutdown metadata
-475 shutdown auto log metadata eio
-476 auto rw
-477 auto quick exportfs
-478 auto quick
-479 auto quick metadata log
-480 auto quick metadata log
-481 auto quick log metadata
-482 auto metadata replay thin
-483 auto quick log metadata
-484 auto quick
-485 auto quick insert
-486 auto quick attr
-487 auto quick eio
-488 auto quick
-489 auto quick attr log
-490 auto quick rw seek
-491 auto quick freeze mount
-492 auto quick
-493 auto quick swap dedupe
-494 auto quick swap punch
-495 auto quick swap
-496 auto quick swap prealloc
-497 auto quick swap collapse
-498 auto quick log
-499 auto quick rw collapse zero
-500 auto thin trim
-501 auto quick clone log
-502 auto quick log
-503 auto quick dax punch collapse zero
-504 auto quick locks
-505 shutdown auto quick metadata
-506 shutdown auto quick metadata quota
-507 shutdown auto quick metadata
-508 shutdown auto quick metadata
-509 auto quick log
-510 auto quick log
-511 auto quick rw zero
-512 auto quick log prealloc
-513 auto quick clone
-514 auto quick clone
-515 auto quick clone
-516 auto quick dedupe clone
-517 auto quick dedupe clone
-518 auto quick clone
-519 auto quick
-520 auto quick log
-521 soak long_rw
-522 soak long_rw
-523 auto quick attr
-524 auto quick
-525 auto quick rw
-526 auto quick log
-527 auto quick log
-528 auto quick
-529 auto quick acl attr
-530 auto quick shutdown unlink
-531 auto quick unlink
-532 auto quick
-533 auto quick attr
-534 auto quick log
-535 auto quick log
-536 auto quick rw shutdown
-537 auto quick trim
-538 auto quick aio
-539 auto quick punch seek
-540 auto quick clone
-541 auto quick clone
-542 auto quick clone
-543 auto quick clone
-544 auto quick clone
-545 auto quick cap
-546 auto quick clone enospc log
-547 auto quick log
-548 auto quick encrypt
-549 auto quick encrypt
-550 auto quick encrypt
-551 auto stress aio
-552 auto quick log
-553 auto quick copy_range
-554 auto quick copy_range swap
-555 auto quick cap
-556 auto quick casefold
-557 auto quick log
-558 auto enospc
-559 auto stress dedupe
-560 auto stress dedupe
-561 auto stress dedupe
-562 auto clone punch
-563 auto quick
-564 auto quick copy_range
-565 auto quick copy_range
-566 auto quick quota metadata
-567 auto quick rw punch
-568 auto quick rw prealloc
-569 auto quick rw swap prealloc
-570 auto quick rw swap
-571 auto quick
-572 auto quick verity
-573 auto quick verity
-574 auto quick verity
-575 auto quick verity
-576 auto quick verity encrypt
-577 auto quick verity
-578 auto quick rw clone
-579 auto stress verity
-580 auto quick encrypt
-581 auto quick encrypt
-582 auto quick encrypt
-583 auto quick encrypt
-584 auto quick encrypt
-585 auto rename
-586 auto quick rw prealloc
-587 auto quick rw prealloc quota
-588 auto quick log clone
-589 auto mount
-590 auto prealloc preallocrw
-591 auto quick rw pipe splice
-592 auto quick encrypt
-593 auto quick encrypt
-594 auto quick quota
-595 auto quick encrypt
-596 auto quick
-597 auto quick perms
-598 auto quick perms
-599 auto quick remount shutdown
-600 auto quick quota
-601 auto quick quota
-602 auto quick encrypt
-603 auto quick quota
-604 auto quick mount
-605 auto attr quick dax
-606 auto attr quick dax
-607 auto attr quick dax
-608 auto attr quick dax
-609 auto quick rw
-610 auto quick prealloc zero
-611 auto quick attr
-612 auto quick clone
-613 auto quick encrypt
-614 auto quick rw
-615 auto rw
-616 auto rw io_uring stress
-617 auto rw io_uring stress
-618 auto quick attr
-619 auto rw enospc
-620 auto mount quick
-621 auto quick encrypt
-622 auto shutdown metadata atime
-623 auto quick shutdown
-624 auto quick verity
-625 auto quick verity
-626 auto quick rename enospc
-627 auto aio rw stress
-628 auto quick rw clone
-629 auto quick rw copy_range
-630 auto quick rw dedupe clone
-631 auto rw overlay rename
-632 auto quick mount
-633 auto quick atime attr cap idmapped io_uring mount perms rw unlink
-634 auto quick atime bigtime
-635 auto quick atime bigtime shutdown
-636 auto quick swap
-637 auto quick dir
-638 auto quick rw
-715 auto quick rw
-716 auto quick rw
-1200 auto quick swapext quota
-1201 auto quick swapext quota
-1202 auto quick swapext
-1203 auto quick swapext
-1204 auto quick swapext
-1205 auto quick swapext
-1206 auto quick swapext
-1207 auto quick swapext
-1209 auto quick swapext
-1210 auto quick swapext
-1211 auto quick swapext
-1212 auto quick swapext
-1213 auto quick swapext
-1214 auto quick swapext
-1215 auto quick swapext
-1216 auto quick swapext
-1217 auto quick swapext
diff --git a/tests/nfs/group b/tests/nfs/group
deleted file mode 100644
index 2619eaee..00000000
--- a/tests/nfs/group
+++ /dev/null
@@ -1,6 +0,0 @@
-# QA groups control file
-# Defines test groups and nominal group owners
-# - do not start group names with a digit
-# - comment line before each group is "new" description
-#
-001 auto quick nfs4_acl acl
diff --git a/tests/ocfs2/group b/tests/ocfs2/group
deleted file mode 100644
index 28e68072..00000000
--- a/tests/ocfs2/group
+++ /dev/null
@@ -1 +0,0 @@
-001 auto quick clone
diff --git a/tests/overlay/group b/tests/overlay/group
deleted file mode 100644
index bd014f20..00000000
--- a/tests/overlay/group
+++ /dev/null
@@ -1,100 +0,0 @@
-# QA groups control file
-# Defines test groups and nominal group owners
-# - do not start group names with a digit
-# - comment line before each group is "new" description
-#
-001 auto quick copyup
-002 auto quick metadata
-003 auto quick whiteout
-004 attr auto copyup quick
-005 auto copyup quick
-006 auto quick copyup whiteout
-007 auto quick
-008 auto quick whiteout
-009 auto quick
-010 auto quick whiteout
-011 auto quick
-012 auto quick
-013 auto quick copyup
-014 auto quick copyup
-015 auto quick whiteout
-016 auto quick copyup
-017 auto quick copyup redirect
-018 auto quick copyup hardlink
-019 auto stress
-020 auto quick copyup perms
-021 auto quick copyup
-022 auto quick mount nested
-023 auto quick attr
-024 auto quick mount
-025 auto quick attr
-026 auto attr quick
-027 auto quick perms
-028 auto copyup quick
-029 auto quick nested
-030 auto quick perms
-031 auto quick whiteout
-032 auto quick copyup hardlink
-033 auto quick copyup hardlink
-034 auto quick copyup hardlink
-035 auto quick mount
-036 auto quick mount
-037 auto quick mount
-038 auto quick copyup
-039 auto quick atime
-040 auto quick
-041 auto quick copyup nonsamefs
-042 auto quick copyup hardlink
-043 auto quick copyup nonsamefs
-044 auto quick copyup hardlink nonsamefs
-045 auto quick fsck
-046 auto quick fsck
-047 auto quick copyup hardlink
-048 auto quick copyup hardlink
-049 auto quick copyup redirect
-050 auto quick copyup hardlink exportfs
-051 auto quick copyup hardlink exportfs nonsamefs
-052 auto quick copyup redirect exportfs
-053 auto quick copyup redirect exportfs nonsamefs
-054 auto quick copyup redirect exportfs
-055 auto quick copyup redirect exportfs nonsamefs
-056 auto quick fsck
-057 auto quick redirect
-058 auto quick exportfs
-059 auto quick copyup
-060 auto quick metacopy
-061 posix copyup
-062 auto quick exportfs
-063 auto quick whiteout
-064 auto quick copyup
-065 auto quick mount
-066 auto quick copyup
-067 auto quick copyup nonsamefs
-068 auto quick copyup hardlink exportfs nested
-069 auto quick copyup hardlink exportfs nested nonsamefs
-070 auto quick copyup redirect nested
-071 auto quick copyup redirect nested nonsamefs
-072 auto quick copyup hardlink
-073 auto quick whiteout
-074 auto quick exportfs dangerous
-075 auto quick perms
-076 auto quick perms dangerous
-077 auto quick dir
-100 auto quick union samefs
-101 auto quick union nonsamefs
-102 auto quick union nonsamefs xino
-103 auto union rotate samefs
-104 auto union rotate nonsamefs
-105 auto union rotate nonsamefs xino
-106 auto union rotate nonsamefs
-107 auto union rotate nonsamefs xino
-108 auto union rotate nonsamefs
-109 auto union rotate nonsamefs xino
-110 auto quick union nested samefs
-111 auto quick union nested samefs xino
-112 auto quick union nested nonsamefs
-113 auto quick union nested nonsamefs xino
-114 auto union rotate nested samefs
-115 auto union rotate nested samefs xino
-116 auto union rotate nested nonsamefs
-117 auto union rotate nested nonsamefs xino
diff --git a/tests/perf/group b/tests/perf/group
deleted file mode 100644
index d3ed4349..00000000
--- a/tests/perf/group
+++ /dev/null
@@ -1 +0,0 @@
-001 auto
diff --git a/tests/shared/group b/tests/shared/group
deleted file mode 100644
index a8b926d8..00000000
--- a/tests/shared/group
+++ /dev/null
@@ -1,8 +0,0 @@
-# QA groups control file
-# Defines test groups and nominal group owners
-# - do not start group names with a digit
-# - comment line before each group is "new" description
-#
-002 auto metadata quick log
-032 mkfs auto quick
-298 auto trim
diff --git a/tests/udf/group b/tests/udf/group
deleted file mode 100644
index 6680da44..00000000
--- a/tests/udf/group
+++ /dev/null
@@ -1,6 +0,0 @@
-# QA groups control file
-# Defines test groups and nominal group owners
-# - do not start group names with a digit
-# - comment line before each group is "new" description
-#
-102 udf
diff --git a/tests/xfs/group b/tests/xfs/group
deleted file mode 100644
index 3c311916..00000000
--- a/tests/xfs/group
+++ /dev/null
@@ -1,622 +0,0 @@
-001 db auto quick
-002 auto quick growfs
-003 db auto quick
-004 db auto quick
-005 auto quick
-006 auto quick mount eio
-007 auto quota quick
-008 rw ioctl auto quick
-009 rw ioctl auto prealloc quick
-010 auto quick repair
-011 auto freeze log metadata quick
-012 rw auto quick
-013 auto metadata stress
-014 auto enospc quick quota
-015 auto enospc growfs
-016 rw auto quick
-017 mount auto quick stress
-018 deprecated # log logprint v2log
-019 mkfs auto quick
-020 auto repair
-021 db attr auto quick
-022 dump ioctl tape
-023 dump ioctl tape
-024 dump ioctl tape
-025 dump ioctl tape
-026 dump ioctl auto quick
-027 dump ioctl auto quick
-028 dump ioctl auto quick
-029 mkfs logprint log auto quick
-030 repair auto quick
-031 repair mkfs auto quick
-032 copy auto quick
-033 repair auto quick
-034 other auto quick
-035 dump ioctl tape auto
-036 dump ioctl remote tape
-037 dump ioctl remote tape
-038 dump ioctl remote tape
-039 dump ioctl remote tape
-040 other auto
-041 growfs ioctl auto
-042 fsr ioctl auto
-043 dump ioctl tape
-044 other auto
-045 other auto quick
-046 dump ioctl auto quick
-047 dump ioctl auto
-048 other auto quick
-049 rw auto quick
-050 quota auto quick
-051 shutdown auto log metadata
-052 quota db auto quick
-053 attr acl repair quick auto
-054 auto quick
-055 dump ioctl remote tape
-056 dump ioctl auto quick
-057 auto log
-058 auto quick fuzzers
-059 dump ioctl auto quick
-060 dump ioctl auto quick
-061 dump ioctl auto quick
-062 auto ioctl quick
-063 dump attr auto quick
-064 dump auto
-065 dump auto
-066 dump ioctl auto quick
-067 acl attr auto quick
-068 auto stress dump
-069 ioctl auto quick
-070 auto quick repair
-071 rw auto
-072 rw auto prealloc quick
-073 copy auto
-074 quick auto prealloc rw
-075 auto quick mount
-076 auto enospc punch
-077 auto quick copy
-078 growfs auto quick
-079 shutdown auto log quick
-080 rw ioctl
-081 deprecated # log logprint quota
-082 deprecated # log logprint v2log
-083 dangerous_fuzzers punch
-084 ioctl rw auto
-085 fuzzers
-086 fuzzers
-087 fuzzers
-088 fuzzers
-089 fuzzers
-090 rw auto realtime
-091 fuzzers
-092 other auto quick
-093 fuzzers
-094 metadata dir ioctl auto realtime
-095 log v2log auto
-096 mkfs v2log auto quick
-097 fuzzers
-098 fuzzers
-099 fuzzers
-100 fuzzers
-101 fuzzers
-102 fuzzers
-103 metadata dir ioctl auto quick
-104 growfs ioctl prealloc auto stress
-105 fuzzers
-106 auto quick quota
-107 quota
-108 quota auto quick
-109 metadata auto
-110 repair auto
-111 ioctl
-112 fuzzers
-113 fuzzers
-114 auto quick clone rmap collapse insert
-115 auto quick fuzzers
-116 quota auto quick
-117 fuzzers
-118 auto quick fsr
-119 log v2log auto freeze
-120 fuzzers
-121 shutdown log auto quick
-122 other auto quick clone realtime
-123 fuzzers
-124 fuzzers
-125 fuzzers
-126 fuzzers
-127 auto quick clone
-128 auto quick clone fsr
-129 auto quick clone
-130 fuzzers clone
-132 auto quick
-133 dangerous_fuzzers
-134 dangerous_fuzzers
-135 auto logprint quick v2log
-136 attr2
-137 auto metadata v2log
-138 auto quick
-139 auto quick clone
-140 auto clone
-141 auto log metadata
-142 auto quick rw attr realtime
-143 auto quick realtime mount
-144 auto quick quota
-145 auto quick quota
-146 auto quick rw realtime
-147 auto quick rw realtime collapse insert unshare zero prealloc
-148 auto quick fuzzers
-149 auto quick growfs
-150 auto quick db
-151 auto quick db
-152 auto quick quota idmapped
-153 auto quick quota idmapped
-154 auto quick repair
-155 auto repair
-156 auto quick admin
-157 auto quick admin
-158 auto quick inobtcount
-159 auto quick bigtime
-160 auto quick bigtime
-161 auto quick bigtime quota
-162 auto quick attr repair
-163 auto quick growfs shrinkfs
-164 rw pattern auto prealloc quick
-165 rw pattern auto prealloc quick
-166 rw metadata auto quick
-167 rw metadata auto stress
-168 auto growfs shrinkfs ioctl prealloc stress
-169 auto clone
-170 rw filestreams auto quick
-171 rw filestreams
-172 rw filestreams
-173 rw filestreams
-174 rw filestreams auto
-178 mkfs other auto
-179 auto quick clone
-180 auto quick clone
-181 shutdown log auto quick
-182 auto quick clone
-183 rw other auto quick
-184 auto quick clone
-186 attr auto quick
-187 attr auto quick
-188 ci dir auto
-189 mount auto quick
-190 rw auto quick
-191-input-validation auto quick mkfs realtime
-192 auto quick clone
-193 auto quick clone
-194 rw auto
-195 ioctl dump auto quick
-196 auto quick rw
-197 dir auto quick
-198 auto quick clone
-199 mount auto quick
-200 auto quick clone
-201 metadata auto quick
-202 repair auto quick
-203 ioctl auto
-204 auto quick clone
-205 metadata rw auto
-206 growfs auto quick
-207 auto quick clone
-208 auto quick clone
-209 auto quick clone
-210 auto quick clone
-211 clone_stress
-212 shutdown auto quick clone
-213 auto quick clone
-214 auto quick clone
-215 auto quick clone
-216 log metadata auto quick
-217 log metadata auto
-218 auto quick clone
-219 auto quick clone
-220 auto quota quick
-221 auto quick clone
-222 auto fsr ioctl quick
-223 auto quick clone
-224 auto quick clone
-225 auto quick clone
-226 auto quick clone
-227 auto fsr
-228 auto quick clone punch
-229 auto rw
-230 auto quick clone punch
-231 auto quick clone
-232 auto quick clone
-233 auto quick rmap
-234 auto quick rmap punch
-235 fuzzers rmap
-236 auto rmap punch
-237 auto quick clone eio
-238 auto quick metadata ioctl
-239 auto quick clone
-240 auto quick clone eio
-241 auto quick clone
-242 auto quick prealloc zero
-243 auto quick clone punch
-244 auto quota quick
-245 auto quick clone
-246 auto quick clone
-247 auto quick clone
-248 auto quick clone
-249 auto quick clone
-250 auto quick rw prealloc metadata
-251 auto quick clone
-252 auto quick prealloc punch
-253 auto quick
-254 auto quick clone
-255 auto quick clone
-256 auto quick clone
-257 auto quick clone
-258 auto quick clone
-259 auto quick
-260 auto quick mkfs
-261 auto quick quota
-262 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-263 auto quick quota
-264 auto quick mount eio
-265 auto clone
-266 dump ioctl auto quick
-267 dump ioctl tape
-268 dump ioctl tape
-269 auto quick ioctl
-270 auto quick mount
-271 auto quick rmap fsmap
-272 auto quick rmap fsmap
-273 auto rmap fsmap
-274 auto quick rmap fsmap
-275 auto quick rmap fsmap
-276 auto quick rmap fsmap realtime
-277 auto quick rmap fsmap
-278 repair auto
-279 auto mkfs
-280 auto quick clone
-281 dump ioctl auto quick
-282 dump ioctl auto quick
-283 dump ioctl auto quick
-284 auto quick dump copy db mkfs repair
-285 dangerous_fuzzers dangerous_scrub
-286 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-287 auto dump quota quick
-288 auto quick repair fuzzers
-289 growfs auto quick
-290 auto rw prealloc quick ioctl zero
-291 auto repair
-292 auto mkfs quick
-293 auto quick
-294 auto dir metadata
-295 auto logprint quick
-296 dump auto quick
-297 auto freeze
-298 auto attr symlink quick
-299 auto quota
-300 auto fsr
-301 auto dump
-302 auto dump
-303 auto quick quota
-304 auto quick quota
-305 auto quota
-306 auto quick punch
-307 auto quick clone
-308 auto quick clone
-309 auto clone
-310 auto clone rmap
-311 auto quick
-312 auto quick clone
-313 auto quick clone
-314 auto quick clone
-315 auto quick clone
-316 auto quick clone
-317 auto quick rmap
-318 auto quick rw
-319 auto quick clone
-320 auto quick clone
-321 auto quick clone
-322 auto quick clone
-323 auto quick clone
-324 auto quick clone
-325 auto quick clone
-326 auto quick clone
-327 auto quick clone
-328 auto quick clone fsr
-329 auto quick clone fsr
-330 auto quick clone fsr quota
-331 auto quick rmap clone
-332 auto quick rmap clone collapse punch insert zero
-334 auto quick rmap realtime
-335 auto rmap realtime
-336 auto rmap realtime
-337 fuzzers rmap realtime
-338 auto quick rmap realtime
-339 auto quick rmap realtime
-340 auto quick rmap realtime
-341 auto quick rmap realtime
-342 auto quick rmap realtime
-343 auto quick rmap collapse punch insert zero realtime
-344 auto quick clone
-345 auto quick clone
-346 auto quick clone
-347 auto quick clone
-348 auto quick fuzzers repair
-349 dangerous_fuzzers scrub
-350 dangerous_fuzzers dangerous_scrub dangerous_repair
-351 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-352 dangerous_fuzzers dangerous_scrub dangerous_repair
-353 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-354 dangerous_fuzzers dangerous_scrub dangerous_repair
-355 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-356 dangerous_fuzzers dangerous_scrub dangerous_repair
-357 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-358 dangerous_fuzzers dangerous_scrub dangerous_repair
-359 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-360 dangerous_fuzzers dangerous_scrub dangerous_repair
-361 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-362 dangerous_fuzzers dangerous_scrub dangerous_repair
-363 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-364 dangerous_fuzzers dangerous_scrub dangerous_repair
-365 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-366 dangerous_fuzzers dangerous_scrub dangerous_repair
-367 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-368 dangerous_fuzzers dangerous_scrub dangerous_repair
-369 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-370 dangerous_fuzzers dangerous_scrub dangerous_repair
-371 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-372 dangerous_fuzzers dangerous_scrub dangerous_repair
-373 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-374 dangerous_fuzzers dangerous_scrub dangerous_repair
-375 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-376 dangerous_fuzzers dangerous_scrub dangerous_repair
-377 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-378 dangerous_fuzzers dangerous_scrub dangerous_repair
-379 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-380 dangerous_fuzzers dangerous_scrub dangerous_repair
-381 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-382 dangerous_fuzzers dangerous_scrub dangerous_repair
-383 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-384 dangerous_fuzzers dangerous_scrub dangerous_repair
-385 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-386 dangerous_fuzzers dangerous_scrub dangerous_repair
-387 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-388 dangerous_fuzzers dangerous_scrub dangerous_repair
-389 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-390 dangerous_fuzzers dangerous_scrub dangerous_repair
-391 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-392 dangerous_fuzzers dangerous_scrub dangerous_repair
-393 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-394 dangerous_fuzzers dangerous_scrub dangerous_repair
-395 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-396 dangerous_fuzzers dangerous_scrub dangerous_repair
-397 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-398 dangerous_fuzzers dangerous_scrub dangerous_repair
-399 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-400 dangerous_fuzzers dangerous_scrub dangerous_repair
-401 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-402 dangerous_fuzzers dangerous_scrub dangerous_repair
-403 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-404 dangerous_fuzzers dangerous_scrub dangerous_repair
-405 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-406 dangerous_fuzzers dangerous_scrub dangerous_repair realtime
-407 dangerous_fuzzers dangerous_scrub dangerous_online_repair realtime
-408 dangerous_fuzzers dangerous_scrub dangerous_repair realtime
-409 dangerous_fuzzers dangerous_scrub dangerous_online_repair realtime
-410 dangerous_fuzzers dangerous_scrub dangerous_repair
-411 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-412 dangerous_fuzzers dangerous_scrub dangerous_repair
-413 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-414 dangerous_fuzzers dangerous_scrub dangerous_repair
-415 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-416 dangerous_fuzzers dangerous_scrub dangerous_repair
-417 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-418 dangerous_fuzzers dangerous_scrub dangerous_repair
-420 auto quick clone punch seek
-421 auto quick clone punch seek
-422 dangerous_scrub dangerous_online_repair
-423 dangerous_scrub
-424 auto quick db
-425 dangerous_fuzzers dangerous_scrub dangerous_repair
-426 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-427 dangerous_fuzzers dangerous_scrub dangerous_repair
-428 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-429 dangerous_fuzzers dangerous_scrub dangerous_repair
-430 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-431 auto quick
-432 auto quick dir metadata
-433 auto quick attr
-434 auto quick clone fsr
-435 auto quick clone
-436 auto quick clone fsr
-437 auto quick other
-438 auto quick quota
-439 auto quick fuzzers log
-440 auto quick clone quota
-441 auto quick clone quota
-442 auto stress clone quota
-443 auto quick ioctl fsr punch
-444 auto quick
-445 auto quick filestreams
-446 auto quick
-447 auto mount
-448 auto quick fuzzers
-449 auto quick
-450 auto quick rmap
-451 auto quick metadata repair
-452 auto db
-453 dangerous_fuzzers dangerous_norepair
-454 dangerous_fuzzers dangerous_norepair
-455 dangerous_fuzzers dangerous_norepair
-456 dangerous_fuzzers dangerous_norepair
-457 dangerous_fuzzers dangerous_norepair
-458 dangerous_fuzzers dangerous_norepair
-459 dangerous_fuzzers dangerous_norepair
-460 dangerous_fuzzers dangerous_norepair
-461 dangerous_fuzzers dangerous_norepair
-462 dangerous_fuzzers dangerous_norepair
-463 dangerous_fuzzers dangerous_norepair
-464 dangerous_fuzzers dangerous_norepair
-465 dangerous_fuzzers dangerous_norepair
-466 dangerous_fuzzers dangerous_norepair
-467 dangerous_fuzzers dangerous_norepair
-468 dangerous_fuzzers dangerous_norepair
-469 dangerous_fuzzers dangerous_norepair
-470 dangerous_fuzzers dangerous_norepair
-471 dangerous_fuzzers dangerous_norepair
-472 dangerous_fuzzers dangerous_norepair
-473 dangerous_fuzzers dangerous_norepair
-474 dangerous_fuzzers dangerous_norepair
-475 dangerous_fuzzers dangerous_norepair
-476 dangerous_fuzzers dangerous_norepair
-477 dangerous_fuzzers dangerous_norepair
-478 dangerous_fuzzers dangerous_norepair
-479 dangerous_fuzzers dangerous_norepair
-480 dangerous_fuzzers dangerous_norepair
-481 dangerous_fuzzers dangerous_norepair realtime
-482 dangerous_fuzzers dangerous_norepair realtime
-483 dangerous_fuzzers dangerous_norepair
-484 dangerous_fuzzers dangerous_norepair
-485 dangerous_fuzzers dangerous_norepair
-486 dangerous_fuzzers dangerous_norepair
-487 dangerous_fuzzers dangerous_norepair
-488 dangerous_fuzzers dangerous_norepair
-489 dangerous_fuzzers dangerous_norepair
-490 auto quick
-491 auto quick fuzz
-492 auto quick fuzz
-493 auto quick fuzz
-494 auto quick
-495 auto quick repair
-496 dangerous_fuzzers dangerous_scrub dangerous_repair
-497 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-498 dangerous_fuzzers dangerous_norepair
-499 auto quick
-500 auto quick mkfs prealloc mkfs
-501 auto quick unlink
-502 auto quick unlink
-503 auto copy metadump
-504 auto quick mkfs label
-505 auto quick spaceman
-506 auto quick health
-507 clone
-508 auto quick quota
-509 auto ioctl
-510 auto ioctl quick
-511 auto quick quota
-512 auto quick acl attr
-513 auto mount
-514 auto quick db
-515 auto quick quota
-516 auto quick
-517 auto quick fsmap freeze
-518 auto quick quota
-519 auto quick reflink
-520 auto quick reflink
-521 auto quick realtime growfs
-522 auto quick mkfs
-523 auto quick mkfs
-524 auto quick mkfs
-525 auto quick mkfs
-526 auto quick mkfs
-527 auto quick quota
-528 auto quick rw realtime
-529 auto quick quota
-530 auto quick realtime growfs
-531 auto quick punch zero insert collapse
-532 auto quick attr
-533 auto quick dir hardlink symlink
-534 auto quick
-535 auto quick reflink
-536 auto quick reflink
-537 auto quick
-538 auto stress
-539 auto quick mount
-713 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-714 dangerous_scrub dangerous_online_repair
-715 dangerous_scrub dangerous_online_repair
-725 dangerous_scrub dangerous_online_repair
-726 dangerous_scrub dangerous_online_repair
-727 dangerous_scrub dangerous_online_repair
-728 dangerous_scrub dangerous_online_repair
-729 dangerous_scrub dangerous_online_repair
-730 dangerous_scrub dangerous_online_repair
-731 dangerous_scrub dangerous_online_repair
-732 fsmap dangerous
-733 scrub dangerous
-741 auto quick rw
-746 auto quick online_repair
-747 auto quick scrub
-756 auto quick rw scrub
-762 auto quick rw scrub realtime
-767 auto quick quota realtime
-771 scrub dangerous
-772 dangerous_scrub dangerous_online_repair
-775 auto quick rw realtime
-919 auto quick clone realtime
-1202 auto quick swapext
-1208 auto quick swapext
-1209 auto quick swapext
-1210 auto quick swapext
-1211 auto quick swapext
-1212 auto quick swapext
-1500 dangerous_fuzzers dangerous_bothrepair
-1501 dangerous_fuzzers dangerous_bothrepair
-1502 dangerous_fuzzers dangerous_bothrepair
-1503 dangerous_fuzzers dangerous_bothrepair
-1504 dangerous_fuzzers dangerous_bothrepair
-1505 dangerous_fuzzers dangerous_bothrepair
-1506 dangerous_fuzzers dangerous_bothrepair
-1507 dangerous_fuzzers dangerous_bothrepair
-1508 dangerous_fuzzers dangerous_bothrepair
-1509 dangerous_fuzzers dangerous_bothrepair
-1510 dangerous_fuzzers dangerous_bothrepair
-1511 dangerous_fuzzers dangerous_bothrepair
-1512 dangerous_fuzzers dangerous_bothrepair
-1513 dangerous_fuzzers dangerous_bothrepair
-1514 dangerous_fuzzers dangerous_bothrepair
-1515 dangerous_fuzzers dangerous_bothrepair
-1516 dangerous_fuzzers dangerous_bothrepair
-1517 dangerous_fuzzers dangerous_bothrepair
-1518 dangerous_fuzzers dangerous_bothrepair
-1519 dangerous_fuzzers dangerous_bothrepair
-1520 dangerous_fuzzers dangerous_bothrepair
-1521 dangerous_fuzzers dangerous_bothrepair
-1522 dangerous_fuzzers dangerous_bothrepair
-1523 dangerous_fuzzers dangerous_bothrepair
-1524 dangerous_fuzzers dangerous_bothrepair
-1525 dangerous_fuzzers dangerous_bothrepair
-1526 dangerous_fuzzers dangerous_bothrepair
-1527 dangerous_fuzzers dangerous_bothrepair
-1528 dangerous_fuzzers dangerous_bothrepair realtime
-1529 dangerous_fuzzers dangerous_bothrepair realtime
-1530 dangerous_fuzzers dangerous_bothrepair
-1531 dangerous_fuzzers dangerous_bothrepair
-1532 dangerous_fuzzers dangerous_bothrepair
-1533 dangerous_fuzzers dangerous_bothrepair
-1534 dangerous_fuzzers dangerous_bothrepair
-1535 dangerous_fuzzers dangerous_bothrepair
-1536 dangerous_fuzzers dangerous_bothrepair
-1537 dangerous_fuzzers dangerous_bothrepair
-1538 dangerous_fuzzers dangerous_scrub dangerous_online_repair realtime
-1539 dangerous_fuzzers dangerous_scrub dangerous_repair realtime
-1540 dangerous_fuzzers dangerous_norepair realtime
-1541 dangerous_fuzzers dangerous_bothrepair realtime
-1542 dangerous_fuzzers dangerous_scrub dangerous_online_repair realtime
-1543 dangerous_fuzzers dangerous_scrub dangerous_repair realtime
-1544 dangerous_fuzzers dangerous_norepair realtime
-1545 dangerous_fuzzers dangerous_bothrepair realtime
-1546 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-1547 dangerous_fuzzers dangerous_scrub dangerous_repair
-1548 dangerous_fuzzers dangerous_norepair
-1549 dangerous_fuzzers dangerous_bothrepair
-1550 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-1551 dangerous_fuzzers dangerous_scrub dangerous_repair
-1552 dangerous_fuzzers dangerous_norepair
-1553 dangerous_fuzzers dangerous_bothrepair
-1554 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-1555 dangerous_fuzzers dangerous_scrub dangerous_repair
-1556 dangerous_fuzzers dangerous_scrub dangerous_norepair
-1557 dangerous_fuzzers dangerous_scrub dangerous_online_repair
-1558 dangerous_fuzzers dangerous_scrub dangerous_repair
-1559 dangerous_fuzzers dangerous_scrub dangerous_norepair
-1560 dangerous_fuzzers dangerous_scrub dangerous_bothrepair
-1561 dangerous_fuzzers dangerous_scrub dangerous_bothrepair
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 10/10] fstests: remove test group management code
2021-05-26 1:46 [PATCHSET RFC 00/10] fstests: move test group lists into test files Darrick J. Wong
` (8 preceding siblings ...)
2021-05-26 1:47 ` [PATCH 09/10] fstests: remove group files Darrick J. Wong
@ 2021-05-26 1:47 ` Darrick J. Wong
2021-06-03 6:32 ` [PATCHSET RFC 00/10] fstests: move test group lists into test files Amir Goldstein
2021-06-06 14:44 ` Eryu Guan
11 siblings, 0 replies; 20+ messages in thread
From: Darrick J. Wong @ 2021-05-26 1:47 UTC (permalink / raw)
To: djwong, guaneryu; +Cc: linux-xfs, fstests, guan
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>
---
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()
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCHSET RFC 00/10] fstests: move test group lists into test files
2021-05-26 1:46 [PATCHSET RFC 00/10] fstests: move test group lists into test files Darrick J. Wong
` (9 preceding siblings ...)
2021-05-26 1:47 ` [PATCH 10/10] fstests: remove test group management code Darrick J. Wong
@ 2021-06-03 6:32 ` Amir Goldstein
2021-06-03 15:34 ` Darrick J. Wong
2021-06-06 14:44 ` Eryu Guan
11 siblings, 1 reply; 20+ messages in thread
From: Amir Goldstein @ 2021-06-03 6:32 UTC (permalink / raw)
To: Darrick J. Wong; +Cc: Eryu Guan, linux-xfs, fstests, Eryu Guan
On Wed, May 26, 2021 at 5:50 AM Darrick J. Wong <djwong@kernel.org> wrote:
>
> Hi all,
>
> Test group files (e.g. tests/generic/group) are a pain to keep up.
> Every week I rebase on Eryu's latest upstream, and every week I have to
> slog through dozens of trivial merge conflicts because of the
> groupfiles. Moving tests is annoying because we have to maintain all
> this code to move the group associations from one /group file to
> another.
>
> It doesn't need to be this way -- we could move each test's group
> information into the test itself, and automatically generate the group
> files as part of the make process. This series does exactly that.
>
This looks very nice :)
I do have one concern.
If the auto-generated group files keep the same path as the existing
source controlled group files, checkout of pre/post this change is
going to be challenging for developers running make in the source
directory.
Also .gitignore entries are needed for the auto-generated group files.
I wonder if it wouldn't be easier for everyone if the auto-generated
groups had a different name.
Thanks,
Amir.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCHSET RFC 00/10] fstests: move test group lists into test files
2021-06-03 6:32 ` [PATCHSET RFC 00/10] fstests: move test group lists into test files Amir Goldstein
@ 2021-06-03 15:34 ` Darrick J. Wong
2021-06-03 16:56 ` Amir Goldstein
0 siblings, 1 reply; 20+ messages in thread
From: Darrick J. Wong @ 2021-06-03 15:34 UTC (permalink / raw)
To: Amir Goldstein; +Cc: Eryu Guan, linux-xfs, fstests, Eryu Guan
On Thu, Jun 03, 2021 at 09:32:16AM +0300, Amir Goldstein wrote:
> On Wed, May 26, 2021 at 5:50 AM Darrick J. Wong <djwong@kernel.org> wrote:
> >
> > Hi all,
> >
> > Test group files (e.g. tests/generic/group) are a pain to keep up.
> > Every week I rebase on Eryu's latest upstream, and every week I have to
> > slog through dozens of trivial merge conflicts because of the
> > groupfiles. Moving tests is annoying because we have to maintain all
> > this code to move the group associations from one /group file to
> > another.
> >
> > It doesn't need to be this way -- we could move each test's group
> > information into the test itself, and automatically generate the group
> > files as part of the make process. This series does exactly that.
> >
>
> This looks very nice :)
>
> I do have one concern.
> If the auto-generated group files keep the same path as the existing
> source controlled group files, checkout of pre/post this change is
> going to be challenging for developers running make in the source
> directory.
<nod> A temporary pain until everyone rebases, but you're right, that's
going to annoy people unnecessarily.
Admittedly I left it as tests/*/group to avoid making any other changes.
All three lines' worth in check. :P
> Also .gitignore entries are needed for the auto-generated group files.
Heh, oops. Will fix.
> I wonder if it wouldn't be easier for everyone if the auto-generated
> groups had a different name.
Probably. We could blast fstests 25 years into the future and change
the name to "hashtag" :P
How about "group.map" ?
--D
>
> Thanks,
> Amir.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCHSET RFC 00/10] fstests: move test group lists into test files
2021-06-03 15:34 ` Darrick J. Wong
@ 2021-06-03 16:56 ` Amir Goldstein
2021-06-03 22:21 ` Darrick J. Wong
0 siblings, 1 reply; 20+ messages in thread
From: Amir Goldstein @ 2021-06-03 16:56 UTC (permalink / raw)
To: Darrick J. Wong; +Cc: Eryu Guan, linux-xfs, fstests, Eryu Guan
On Thu, Jun 3, 2021 at 6:34 PM Darrick J. Wong <djwong@kernel.org> wrote:
>
> On Thu, Jun 03, 2021 at 09:32:16AM +0300, Amir Goldstein wrote:
> > On Wed, May 26, 2021 at 5:50 AM Darrick J. Wong <djwong@kernel.org> wrote:
> > >
> > > Hi all,
> > >
> > > Test group files (e.g. tests/generic/group) are a pain to keep up.
> > > Every week I rebase on Eryu's latest upstream, and every week I have to
> > > slog through dozens of trivial merge conflicts because of the
> > > groupfiles. Moving tests is annoying because we have to maintain all
> > > this code to move the group associations from one /group file to
> > > another.
> > >
> > > It doesn't need to be this way -- we could move each test's group
> > > information into the test itself, and automatically generate the group
> > > files as part of the make process. This series does exactly that.
> > >
> >
> > This looks very nice :)
> >
> > I do have one concern.
> > If the auto-generated group files keep the same path as the existing
> > source controlled group files, checkout of pre/post this change is
> > going to be challenging for developers running make in the source
> > directory.
>
> <nod> A temporary pain until everyone rebases, but you're right, that's
> going to annoy people unnecessarily.
>
> Admittedly I left it as tests/*/group to avoid making any other changes.
> All three lines' worth in check. :P
>
> > Also .gitignore entries are needed for the auto-generated group files.
>
> Heh, oops. Will fix.
>
> > I wonder if it wouldn't be easier for everyone if the auto-generated
> > groups had a different name.
>
> Probably. We could blast fstests 25 years into the future and change
> the name to "hashtag" :P
>
> How about "group.map" ?
>
<shrug> that's the hardest part ;-)
I'm fine with group.map group.list group.autogen or whatnot.
I am used to typing the prefix of the group file path in shell commands,
but auto-complete should take care of any suffix.
Thanks,
Amir.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCHSET RFC 00/10] fstests: move test group lists into test files
2021-06-03 16:56 ` Amir Goldstein
@ 2021-06-03 22:21 ` Darrick J. Wong
0 siblings, 0 replies; 20+ messages in thread
From: Darrick J. Wong @ 2021-06-03 22:21 UTC (permalink / raw)
To: Amir Goldstein; +Cc: Eryu Guan, linux-xfs, fstests, Eryu Guan
On Thu, Jun 03, 2021 at 07:56:49PM +0300, Amir Goldstein wrote:
> On Thu, Jun 3, 2021 at 6:34 PM Darrick J. Wong <djwong@kernel.org> wrote:
> >
> > On Thu, Jun 03, 2021 at 09:32:16AM +0300, Amir Goldstein wrote:
> > > On Wed, May 26, 2021 at 5:50 AM Darrick J. Wong <djwong@kernel.org> wrote:
> > > >
> > > > Hi all,
> > > >
> > > > Test group files (e.g. tests/generic/group) are a pain to keep up.
> > > > Every week I rebase on Eryu's latest upstream, and every week I have to
> > > > slog through dozens of trivial merge conflicts because of the
> > > > groupfiles. Moving tests is annoying because we have to maintain all
> > > > this code to move the group associations from one /group file to
> > > > another.
> > > >
> > > > It doesn't need to be this way -- we could move each test's group
> > > > information into the test itself, and automatically generate the group
> > > > files as part of the make process. This series does exactly that.
> > > >
> > >
> > > This looks very nice :)
> > >
> > > I do have one concern.
> > > If the auto-generated group files keep the same path as the existing
> > > source controlled group files, checkout of pre/post this change is
> > > going to be challenging for developers running make in the source
> > > directory.
> >
> > <nod> A temporary pain until everyone rebases, but you're right, that's
> > going to annoy people unnecessarily.
> >
> > Admittedly I left it as tests/*/group to avoid making any other changes.
> > All three lines' worth in check. :P
> >
> > > Also .gitignore entries are needed for the auto-generated group files.
> >
> > Heh, oops. Will fix.
> >
> > > I wonder if it wouldn't be easier for everyone if the auto-generated
> > > groups had a different name.
> >
> > Probably. We could blast fstests 25 years into the future and change
> > the name to "hashtag" :P
> >
> > How about "group.map" ?
> >
>
> <shrug> that's the hardest part ;-)
>
> I'm fine with group.map group.list group.autogen or whatnot.
>
> I am used to typing the prefix of the group file path in shell commands,
> but auto-complete should take care of any suffix.
I went with group.list.
--D
> Thanks,
> Amir.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCHSET RFC 00/10] fstests: move test group lists into test files
2021-05-26 1:46 [PATCHSET RFC 00/10] fstests: move test group lists into test files Darrick J. Wong
` (10 preceding siblings ...)
2021-06-03 6:32 ` [PATCHSET RFC 00/10] fstests: move test group lists into test files Amir Goldstein
@ 2021-06-06 14:44 ` Eryu Guan
2021-06-06 18:05 ` Darrick J. Wong
11 siblings, 1 reply; 20+ messages in thread
From: Eryu Guan @ 2021-06-06 14:44 UTC (permalink / raw)
To: Darrick J. Wong; +Cc: guaneryu, linux-xfs, fstests
On Tue, May 25, 2021 at 06:46:42PM -0700, Darrick J. Wong wrote:
> Hi all,
>
> Test group files (e.g. tests/generic/group) are a pain to keep up.
> Every week I rebase on Eryu's latest upstream, and every week I have to
> slog through dozens of trivial merge conflicts because of the
> groupfiles. Moving tests is annoying because we have to maintain all
> this code to move the group associations from one /group file to
> another.
Thanks for doing this! It looks find overall from a quick look. Mind
adding some words in README file as well?
>
> It doesn't need to be this way -- we could move each test's group
> information into the test itself, and automatically generate the group
> files as part of the make process. This series does exactly that.
>
> The first few patches add some convenient anchors for the new
> per-testfile group tagging and a conversion script to migrate existing
> test files. Next there's a huge patch that is the results of running
> the conversion script, followed by cleanup of the golden outputs. After
> that comes the build infrastructure to generate group files and other
The group files are auto-generated correctly upon "make", but "make
group" printed tons of errors like:
[root@fedoravm xfstests]# make group
[GROUP] /root/workspace/xfstests/group
/root/workspace/xfstests/tests/btrfs/001: line 9: ./common/test_names: No such file or directory
/root/workspace/xfstests/tests/btrfs/001: line 10: _set_seq_and_groups: command not found
/root/workspace/xfstests/tests/btrfs/001: line 21: ./common/rc: No such file or directory
/root/workspace/xfstests/tests/btrfs/001: line 22: ./common/filter: No such file or directory
/root/workspace/xfstests/tests/btrfs/001: line 23: ./common/filter.btrfs: No such file or directory
/root/workspace/xfstests/tests/btrfs/001: line 26: _supported_fs: command not found
/root/workspace/xfstests/tests/btrfs/001: line 27: _require_scratch: command not found
/root/workspace/xfstests/tests/btrfs/001: line 30: _scratch_mount: command not found
/root/workspace/xfstests/tests/btrfs/001: line 38: _filter_scratch: command not found
/root/workspace/xfstests/tests/btrfs/001: line 38: subvolume: command not found
ls: cannot access '/snap': No such file or directory
ls: cannot access '/snap': No such file or directory
/root/workspace/xfstests/tests/btrfs/001: line 50: _filter_scratch: command not found
/root/workspace/xfstests/tests/btrfs/001: line 50: subvolume: command not found
ls: cannot access '/subvol': No such file or directory
/root/workspace/xfstests/tests/btrfs/001: line 60: _btrfs_get_subvolid: command not found
/root/workspace/xfstests/tests/btrfs/001: line 61: _filter_scratch: command not found
/root/workspace/xfstests/tests/btrfs/001: line 61: subvolume: command not found
/root/workspace/xfstests/tests/btrfs/001: line 62: _scratch_cycle_mount: command not found
/root/workspace/xfstests/tests/btrfs/001: line 65: _scratch_unmount: command not found
/root/workspace/xfstests/tests/btrfs/001: line 67: _scratch_mount: command not found
/root/workspace/xfstests/tests/btrfs/001: line 71: _filter_scratch: command not found
/root/workspace/xfstests/tests/btrfs/001: line 71: subvolume: command not found
/root/workspace/xfstests/tests/btrfs/001: line 72: _scratch_cycle_mount: command not found
/root/workspace/xfstests/tests/btrfs/001: line 78: subvolume: command not found
/root/workspace/xfstests/tests/btrfs/001: line 81: _filter_btrfs_subvol_delete: command not found
/root/workspace/xfstests/tests/btrfs/001: line 81: subvolume: command not found
/root/workspace/xfstests/tests/btrfs/001: line 84: _scratch_cycle_mount: command not found
I think it's better to let 'make group' work as well, it might be easier
to re-generated just group files.
> tweaks to the existing maintainer scripts to use the new infrastructure.
> Finally, remove the group files themselves and the (now unnecessary)
> code that maintained them.
>
> If you're going to start using this mess, you probably ought to just
> pull from my git trees, which are linked below.
>
> This is an extraordinary way to destroy everything. Enjoy!
> Comments and questions are, as always, welcome.
>
> --D
>
> fstests git tree:
> https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=autogenerate-groupfiles
I noticed that your patches are based on your internal base, and this
branch couldn't be pulled into current master branch. But this is fine
for RFC patches I think :)
Thanks,
Eryu
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCHSET RFC 00/10] fstests: move test group lists into test files
2021-06-06 14:44 ` Eryu Guan
@ 2021-06-06 18:05 ` Darrick J. Wong
2021-06-07 17:06 ` Darrick J. Wong
0 siblings, 1 reply; 20+ messages in thread
From: Darrick J. Wong @ 2021-06-06 18:05 UTC (permalink / raw)
To: Eryu Guan; +Cc: guaneryu, linux-xfs, fstests
On Sun, Jun 06, 2021 at 10:44:39PM +0800, Eryu Guan wrote:
> On Tue, May 25, 2021 at 06:46:42PM -0700, Darrick J. Wong wrote:
> > Hi all,
> >
> > Test group files (e.g. tests/generic/group) are a pain to keep up.
> > Every week I rebase on Eryu's latest upstream, and every week I have to
> > slog through dozens of trivial merge conflicts because of the
> > groupfiles. Moving tests is annoying because we have to maintain all
> > this code to move the group associations from one /group file to
> > another.
>
> Thanks for doing this! It looks find overall from a quick look. Mind
> adding some words in README file as well?
Ok.
> > It doesn't need to be this way -- we could move each test's group
> > information into the test itself, and automatically generate the group
> > files as part of the make process. This series does exactly that.
> >
> > The first few patches add some convenient anchors for the new
> > per-testfile group tagging and a conversion script to migrate existing
> > test files. Next there's a huge patch that is the results of running
> > the conversion script, followed by cleanup of the golden outputs. After
> > that comes the build infrastructure to generate group files and other
>
> The group files are auto-generated correctly upon "make", but "make
> group" printed tons of errors like:
>
> [root@fedoravm xfstests]# make group
> [GROUP] /root/workspace/xfstests/group
> /root/workspace/xfstests/tests/btrfs/001: line 9: ./common/test_names: No such file or directory
> /root/workspace/xfstests/tests/btrfs/001: line 10: _set_seq_and_groups: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 21: ./common/rc: No such file or directory
> /root/workspace/xfstests/tests/btrfs/001: line 22: ./common/filter: No such file or directory
> /root/workspace/xfstests/tests/btrfs/001: line 23: ./common/filter.btrfs: No such file or directory
> /root/workspace/xfstests/tests/btrfs/001: line 26: _supported_fs: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 27: _require_scratch: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 30: _scratch_mount: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 38: _filter_scratch: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 38: subvolume: command not found
> ls: cannot access '/snap': No such file or directory
> ls: cannot access '/snap': No such file or directory
> /root/workspace/xfstests/tests/btrfs/001: line 50: _filter_scratch: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 50: subvolume: command not found
> ls: cannot access '/subvol': No such file or directory
> /root/workspace/xfstests/tests/btrfs/001: line 60: _btrfs_get_subvolid: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 61: _filter_scratch: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 61: subvolume: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 62: _scratch_cycle_mount: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 65: _scratch_unmount: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 67: _scratch_mount: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 71: _filter_scratch: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 71: subvolume: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 72: _scratch_cycle_mount: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 78: subvolume: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 81: _filter_btrfs_subvol_delete: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 81: subvolume: command not found
> /root/workspace/xfstests/tests/btrfs/001: line 84: _scratch_cycle_mount: command not found
>
> I think it's better to let 'make group' work as well, it might be easier
> to re-generated just group files.
Yikes. I will investigate this before reposting.
> > tweaks to the existing maintainer scripts to use the new infrastructure.
> > Finally, remove the group files themselves and the (now unnecessary)
> > code that maintained them.
> >
> > If you're going to start using this mess, you probably ought to just
> > pull from my git trees, which are linked below.
> >
> > This is an extraordinary way to destroy everything. Enjoy!
> > Comments and questions are, as always, welcome.
> >
> > --D
> >
> > fstests git tree:
> > https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=autogenerate-groupfiles
>
> I noticed that your patches are based on your internal base, and this
> branch couldn't be pulled into current master branch. But this is fine
> for RFC patches I think :)
Yep. Since this is a treewide change I'll put this in a special branch
and rebase my dev tree after it lands.
--D
>
> Thanks,
> Eryu
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCHSET RFC 00/10] fstests: move test group lists into test files
2021-06-06 18:05 ` Darrick J. Wong
@ 2021-06-07 17:06 ` Darrick J. Wong
0 siblings, 0 replies; 20+ messages in thread
From: Darrick J. Wong @ 2021-06-07 17:06 UTC (permalink / raw)
To: Eryu Guan; +Cc: guaneryu, linux-xfs, fstests
On Sun, Jun 06, 2021 at 11:05:09AM -0700, Darrick J. Wong wrote:
> On Sun, Jun 06, 2021 at 10:44:39PM +0800, Eryu Guan wrote:
> > On Tue, May 25, 2021 at 06:46:42PM -0700, Darrick J. Wong wrote:
> > > Hi all,
> > >
> > > Test group files (e.g. tests/generic/group) are a pain to keep up.
> > > Every week I rebase on Eryu's latest upstream, and every week I have to
> > > slog through dozens of trivial merge conflicts because of the
> > > groupfiles. Moving tests is annoying because we have to maintain all
> > > this code to move the group associations from one /group file to
> > > another.
> >
> > Thanks for doing this! It looks find overall from a quick look. Mind
> > adding some words in README file as well?
>
> Ok.
>
> > > It doesn't need to be this way -- we could move each test's group
> > > information into the test itself, and automatically generate the group
> > > files as part of the make process. This series does exactly that.
> > >
> > > The first few patches add some convenient anchors for the new
> > > per-testfile group tagging and a conversion script to migrate existing
> > > test files. Next there's a huge patch that is the results of running
> > > the conversion script, followed by cleanup of the golden outputs. After
> > > that comes the build infrastructure to generate group files and other
> >
> > The group files are auto-generated correctly upon "make", but "make
> > group" printed tons of errors like:
> >
> > [root@fedoravm xfstests]# make group
> > [GROUP] /root/workspace/xfstests/group
> > /root/workspace/xfstests/tests/btrfs/001: line 9: ./common/test_names: No such file or directory
> > /root/workspace/xfstests/tests/btrfs/001: line 10: _set_seq_and_groups: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 21: ./common/rc: No such file or directory
> > /root/workspace/xfstests/tests/btrfs/001: line 22: ./common/filter: No such file or directory
> > /root/workspace/xfstests/tests/btrfs/001: line 23: ./common/filter.btrfs: No such file or directory
> > /root/workspace/xfstests/tests/btrfs/001: line 26: _supported_fs: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 27: _require_scratch: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 30: _scratch_mount: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 38: _filter_scratch: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 38: subvolume: command not found
> > ls: cannot access '/snap': No such file or directory
> > ls: cannot access '/snap': No such file or directory
> > /root/workspace/xfstests/tests/btrfs/001: line 50: _filter_scratch: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 50: subvolume: command not found
> > ls: cannot access '/subvol': No such file or directory
> > /root/workspace/xfstests/tests/btrfs/001: line 60: _btrfs_get_subvolid: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 61: _filter_scratch: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 61: subvolume: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 62: _scratch_cycle_mount: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 65: _scratch_unmount: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 67: _scratch_mount: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 71: _filter_scratch: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 71: subvolume: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 72: _scratch_cycle_mount: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 78: subvolume: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 81: _filter_btrfs_subvol_delete: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 81: subvolume: command not found
> > /root/workspace/xfstests/tests/btrfs/001: line 84: _scratch_cycle_mount: command not found
> >
> > I think it's better to let 'make group' work as well, it might be easier
> > to re-generated just group files.
>
> Yikes. I will investigate this before reposting.
Ah, that's because I put a recipe for group.list in buildrules, even
though it is only the tests/xfs/ directories that should ever know about
that build rule.
I think I can fix it by putting the group.list rule in a separate
include file and then only include the new file from tests/*/Makefile.
--D
> > > tweaks to the existing maintainer scripts to use the new infrastructure.
> > > Finally, remove the group files themselves and the (now unnecessary)
> > > code that maintained them.
> > >
> > > If you're going to start using this mess, you probably ought to just
> > > pull from my git trees, which are linked below.
> > >
> > > This is an extraordinary way to destroy everything. Enjoy!
> > > Comments and questions are, as always, welcome.
> > >
> > > --D
> > >
> > > fstests git tree:
> > > https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=autogenerate-groupfiles
> >
> > I noticed that your patches are based on your internal base, and this
> > branch couldn't be pulled into current master branch. But this is fine
> > for RFC patches I think :)
>
> Yep. Since this is a treewide change I'll put this in a special branch
> and rebase my dev tree after it lands.
>
> --D
>
> >
> > Thanks,
> > Eryu
^ permalink raw reply [flat|nested] 20+ messages in thread