On Wed, Sep 1, 2021 at 3:37 AM Darrick J. Wong <djwong@xxxxxxxxxx> wrote: > > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > Create a file to document the purpose of each test group that is > currently defined in fstests, and add a build script to check that every > group mentioned in the tests is also mentioned in the documentation. > This is awesome and long due. Thanks for doing that! Minor nits about overlayfs groups below... > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> > --- > doc/group-names.txt | 136 ++++++++++++++++++++++++++++++++++++++++++++++++ > include/buildgrouplist | 1 > tools/check-groups | 33 ++++++++++++ > 3 files changed, 170 insertions(+) > create mode 100644 doc/group-names.txt > create mode 100755 tools/check-groups > > > diff --git a/doc/group-names.txt b/doc/group-names.txt > new file mode 100644 > index 00000000..ae517328 > --- /dev/null > +++ b/doc/group-names.txt > @@ -0,0 +1,136 @@ > +======================= ======================================================= > +Group Name: Description: > +======================= ======================================================= > +all All known tests, automatically generated by ./check at > + runtime > +auto Tests that should be run automatically. These should > + not require more than ~5 minutes to run. > +quick Tests that should run in under 30 seconds. > +deprecated Old tests that should not be run. > + > +acl Access Control Lists > +admin xfs_admin functionality > +aio general libaio async io tests > +atime file access time > +attr extended attributes > +attr2 xfs v2 extended aributes > +balance btrfs tree rebalance > +bigtime timestamps beyond the year 2038 > +blockdev block device functionality > +broken broken tests > +cap Linux capabilities > +casefold directory name casefolding > +ci ASCII case-insensitive directory name lookups > +clone FICLONE/FICLONERANGE ioctls > +clone_stress stress testing FICLONE/FICLONERANGE > +collapse fallocate collapse_range > +compress file compression > +convert btrfs ext[34] conversion tool > +copy xfs_copy functionality > +copy_range copy_file_range syscall > +copyup overlayfs copyup support The tests in this group exercise copy up. There is no such thing as overlayfs without "copyup support", so guess my point is - remove the word "support" > +dangerous dangerous test that can crash the system > +dangerous_bothrepair fuzzers to evaluate xfs_scrub + xfs_repair repair > +dangerous_fuzzers fuzzers that can crash your computer > +dangerous_norepair fuzzers to evaluate kernel metadata verifiers > +dangerous_online_repair fuzzers to evaluate xfs_scrub online repair > +dangerous_repair fuzzers to evaluate xfs_repair offline repair > +dangerous_scrub fuzzers to evaluate xfs_scrub checking > +data data loss checkers > +dax direct access mode for persistent memory files > +db xfs_db functional tests > +dedupe FIEDEDUPERANGE ioctl > +defrag filesystem defragmenters > +dir directory test functions > +dump dump and restore utilities > +eio IO error reporting > +encrypt encrypted file contents > +enospc ENOSPC error reporting > +exportfs file handles > +filestreams XFS filestreams allocator > +freeze filesystem freeze tests > +fsck general fsck tests > +fsmap FS_IOC_GETFSMAP ioctl > +fsr XFS free space reorganizer > +fuzzers filesystem fuzz tests > +growfs increasing the size of a filesystem > +hardlink hardlinks > +health XFS health reporting > +idmapped idmapped mount functionality > +inobtcount XFS inode btree count tests > +insert fallocate insert_range > +ioctl general ioctl tests > +io_uring general io_uring async io tests > +label filesystem labelling > +limit resource limits > +locks file locking > +log metadata logging > +logprint xfs_logprint functional tests > +long_rw long-soak read write IO path exercisers > +metacopy overlayfs metadata-only copy-up > +metadata filesystem metadata update exercisers > +metadump xfs_metadump/xfs_mdrestore functionality > +mkfs filesystem formatting tools > +mount mount option and functionality checks > +nested nested overlayfs instances > +nfs4_acl NFSv4 access control lists > +nonsamefs overlayfs layers on different filesystems > +online_repair online repair functionality tests > +other dumping ground, do not add more tests to this group > +overlay using overlayfs on top of FSTYP This description is a bit confusing, because the recommended way to run overlayfs tests as described in README.overlay is to set FSTYP=xfs and run ./check -overlay I'm struggling for a better description but perhaps: "using overlayfs regardless of ./check -overlay flag"? > +pattern specific IO pattern tests > +perms access control and permission checking > +pipe pipe functionality > +pnfs PNFS > +posix POSIX behavior conformance > +prealloc fallocate > +preallocrw fallocate, then read and write > +punch fallocate punch_hole > +qgroup btrfs qgroup feature > +quota filesystem usage quotas > +raid btrfs RAID > +realtime XFS realtime volumes > +recoveryloop crash recovery loops > +redirect overlayfs redirect_dir feature > +remote dump and restore with a remote tape > +remount remounting filesystems > +rename rename system call > +repair xfs_repair functional tests > +replace btrfs device replace > +replay dm-logwrites replays > +resize resize2fs functionality tests > +richacl rich ACL feature > +rmap XFS reverse mapping exercisers > +rotate overlayfs feature of some sort" I guess that works :-D but to be accurate, this is actually a unionmount testsuite feature - at selected test points in the workload, a new upper layer is stacked on to overlayfs, so maybe: "upper layer rotate tests from the unionmount test suite"? > +rw read/write IO tests > +samefs overlayfs when all layers are on the same fs > +scrub filesystem metadata scrubbers > +seed btrfs seeded filesystems > +seek llseek functionality > +send btrfs send/receive > +shrinkfs decreasing the size of a filesystem > +shutdown FS_IOC_SHUTDOWN ioctl > +snapshot btrfs snapshots > +soak long soak tests of any kind > +spaceman xfs_spaceman functional tests > +splice splice system call > +stress fsstress filesystem exerciser > +subvol btrfs subvolumes > +subvolume btrfs subvolumes (again?) A cleanup patch to fix this typo in btrfs/233? Thanks, Amir.