All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zorro Lang <zlang@kernel.org>
To: fstests@vger.kernel.org
Cc: Theodore Ts'o <tytso@mit.edu>
Subject: [RFC PATCH 2/4] check: update usage and README to reflect new argument parsing
Date: Tue, 12 May 2026 21:25:37 +0800	[thread overview]
Message-ID: <20260512132539.931482-3-zlang@kernel.org> (raw)
In-Reply-To: <20260512132539.931482-1-zlang@kernel.org>

Update usage() function, README.* files and some comments to match
the new argument parsing method.

Signed-off-by: Zorro Lang <zlang@kernel.org>
---
 README         | 10 +++---
 README.overlay | 18 +++++------
 check          | 85 ++++++++++++++++++++++++++------------------------
 common/config  |  8 ++---
 common/rc      |  2 +-
 5 files changed, 63 insertions(+), 60 deletions(-)

diff --git a/README b/README
index e0cee43a..8644f163 100644
--- a/README
+++ b/README
@@ -386,7 +386,7 @@ Misc:
  - Set DIFF_LENGTH to "number of diff lines to print from a failed test",
    by default 10, set to 0 to print the full diff
  - set IDMAPPED_MOUNTS=true to run all tests on top of idmapped mounts. While
-   this option is supported for all filesystems currently only -overlay is
+   this option is supported for all filesystems currently only `--fs overlay` is
    expected to run without issues. For other filesystems additional patches
    and fixes to the test suite might be needed.
  - Set REPORT_VARS_FILE to a file containing colon-separated name-value pairs
@@ -417,10 +417,10 @@ Running tests:
     - To randomize test order: ./check -r [test(s)]
     - You can explicitly specify NFS/AFS/CIFS/OVERLAY, otherwise
       the filesystem type will be autodetected from $TEST_DEV:
-        - for running nfs tests: ./check -nfs [test(s)]
-        - for running afs tests: ./check -afs [test(s)]
-        - for running cifs/smb3 tests: ./check -cifs [test(s)]
-        - for overlay tests: ./check -overlay [test(s)]
+        - for running nfs tests: ./check --fs nfs [test(s)]
+        - for running afs tests: ./check --fs afs [test(s)]
+        - for running cifs/smb3 tests: ./check --fs cifs [test(s)]
+        - for overlay tests: ./check --fs overlay [test(s)]
           The TEST and SCRATCH partitions should be pre-formatted
           with another base fs, where the overlay dirs will be created
 
diff --git a/README.overlay b/README.overlay
index 3093bf8c..52bcd332 100644
--- a/README.overlay
+++ b/README.overlay
@@ -1,5 +1,5 @@
 To run xfstest on overlayfs, configure the variables of TEST and SCRATCH
-partitions to be used as the "base fs" and run './check -overlay'.
+partitions to be used as the "base fs" and run './check --fs overlay'.
 
 For example, the following config file can be used to run tests on
 xfs test/scratch partitions:
@@ -10,24 +10,24 @@ xfs test/scratch partitions:
  SCRATCH_MNT=/mnt/scratch
  FSTYP=xfs
 
-Using the same config file, but executing './check -overlay' will
+Using the same config file, but executing './check --fs overlay' will
 use the same partitions as base fs for overlayfs directories
 and set TEST_DIR/SCRATCH_MNT values to overlay mount points, i.e.:
 /mnt/test/ovl-mnt and /mnt/scratch/ovl-mnt, for the context of
 individual tests.
 
-'./check -overlay' does not support mkfs and fsck on the base fs, so
-the base fs should be pre-formatted before starting the -overlay run.
+'./check --fs overlay' does not support mkfs and fsck on the base fs, so
+the base fs should be pre-formatted before starting the --fs overlay run.
 An easy way to accomplish this is by running './check <some test>' once,
-before running './check -overlay'.
+before running './check --fs overlay'.
 
-'./check -overlay' support check overlay test and scratch dirs,
+'./check --fs overlay' support check overlay test and scratch dirs,
 OVERLAY_FSCK_OPTIONS should be set instead of FSCK_OPTIONS if fsck
 options need to given directly.
 
 Because of the lack of mkfs support, multi-section config files are only
-partly supported with './check -overlay'. Only multi-section files that
-do not change FSTYP and MKFS_OPTIONS can be safely used with -overlay.
+partly supported with './check --fs overlay'. Only multi-section files that
+do not change FSTYP and MKFS_OPTIONS can be safely used with --fs overlay.
 
 For example, the following multi-section config file can be used to
 run overlay tests on the same base fs, but with different mount options, and on
@@ -66,7 +66,7 @@ To enable running unionmount testsuite, clone the git repository from:
 under the xfstests src directory, or set the environment variable
 UNIONMOUNT_TESTSUITE to the local path where the repository was cloned.
 
-Run './check -overlay -g overlay/union' to execute all the unionmount testsuite
+Run './check --fs overlay -g overlay/union' to execute all the unionmount testsuite
 test cases.
 
 
diff --git a/check b/check
index 11bdf81b..5fe35e8e 100755
--- a/check
+++ b/check
@@ -56,43 +56,47 @@ export SRC_DIR="tests"
 
 usage()
 {
-    echo "Usage: $0 [options] [testlist]"'
-
-check options
-    -nfs		test NFS
-    -afs		test AFS
-    -glusterfs		test GlusterFS
-    -cifs		test CIFS
-    -9p			test 9p
-    -fuse		test fuse
-    -virtiofs		test virtiofs
-    -overlay		test overlay
-    -pvfs2		test PVFS2
-    -tmpfs		test TMPFS
-    -ubifs		test ubifs
-    -l			line mode diff
-    -udiff		show unified diff (default)
-    -n			show me, do not run tests
-    -T			output timestamps
-    -r			randomize test order
-    --exact-order	run tests in the exact order specified
-    -i <n>		iterate the test list <n> times
-    -I <n>		iterate the test list <n> times, but stops iterating further in case of any test failure
-    -d			dump test output to stdout
-    -b			brief test summary
-    -R fmt[,fmt]	generate report in formats specified. Supported formats: xunit, xunit-quiet
-    --large-fs		optimise scratch device for large filesystems
-    -s section		run only specified section from config file
-    -S section		exclude the specified section from the config file
-    -L <n>		loop tests <n> times following a failure, measuring aggregate pass/fail metrics
-
-testlist options
-    -g group[,group...]	include tests from these groups
-    -x group[,group...]	exclude tests from these groups
-    -X exclude_file	exclude individual tests
-    -e testlist         exclude a specific list of tests
-    -E external_file	exclude individual tests
-    [testlist]		include tests matching names in testlist
+	echo "Usage: $0 [options] [testlist]"'
+
+General options:
+    -b                      brief test summary
+    -d                      dump test output to stdout
+    -h, --help              show this help message
+    -i <n>                  iterate the test list <n> times
+    -I <n>                  iterate the test list <n> times, but stops
+                              iterating further in case of any test failure
+    -l                      line mode diff
+    -L <n>                  loop tests <n> times following a failure, measuring
+                              aggregate pass/fail metrics
+    -n                      show me, do not run tests
+    -r                      randomize test order
+    -s section              run only specified section from config file
+    -S section              exclude the specified section from the config file
+    -T                      output timestamps
+    -R fmt[,fmt]            generate report in formats specified. Supported
+                              formats: xunit, xunit-quiet
+    --exact-order           run tests in the exact order specified
+    --extra-space <size>    require minimum free space on scratch device
+    --fs <type>             test the given FSTYP; valid types include:
+                              nfs, afs, glusterfs, cifs, 9p, fuse, virtiofs,
+                              overlay, pvfs2, tmpfs, ubifs
+    --large-fs              optimise scratch device for large filesystems
+    --udiff                 show unified diff (default)
+
+Test selection options:
+    -e testlist             exclude a specific list of tests
+    -E external_file        exclude tests listed in the given file
+    -g group[,group...]     include tests from these groups
+    -x group[,group...]     exclude tests from these groups
+    -X exclude_file         exclude individual tests
+    [testlist]              include tests matching names in testlist
+
+Backward-compatible options:
+    For compatibility, old options are still accepted (but deprecated):
+    --fs <nfs|afs|glusterfs|...> is equivalent to:
+        -nfs, -afs, -glusterfs, -cifs, -9p, -fuse, -virtiofs, -overlay,
+        -pvfs2, -tmpfs, -ubifs
+    -udiff is equivalent to --udiff.
 
 testlist argument is a list of tests in the form of <test dir>/<test name>.
 
@@ -109,7 +113,7 @@ If you want to run all the tests in the test suite, use "-g all" to specify all
 groups.
 
 exclude_file argument refers to a name of a file inside each test directory.
-for every test dir where this file is found, the listed test names are
+For every test dir where this file is found, the listed test names are
 excluded from the list of tests to run from that test dir.
 
 external_file argument is a path to a single file containing a list of tests
@@ -117,15 +121,14 @@ to exclude in the form of <test dir>/<test name>.
 
 examples:
  check xfs/001
- check -g quick
+ check --fs overlay -g quick
  check -g xfs/quick
  check -x stress xfs/*
  check -X .exclude -g auto
  check -E ~/.xfstests.exclude
 '
-	    _fatal
+	_fatal
 }
-
 get_sub_group_list()
 {
 	local d=$1
diff --git a/common/config b/common/config
index d5299d5b..69e5d833 100644
--- a/common/config
+++ b/common/config
@@ -692,7 +692,7 @@ _canonicalize_devices()
 	fi
 }
 
-# On check -overlay, for the non multi section config case, this
+# On check --fs overlay, for the non multi section config case, this
 # function is called on every test, before init_rc().
 # When SCRATCH/TEST_* vars are defined in config file, config file
 # is sourced on every test and this function overrides the vars
@@ -714,7 +714,7 @@ _overlay_config_override()
 	[ ! -d "$TEST_DEV" ] || export OVL_BASE_TEST_DIR="$TEST_DEV"
 	[ ! -d "$SCRATCH_DEV" ] || export OVL_BASE_SCRATCH_MNT="$SCRATCH_DEV"
 
-	# Config file may specify base fs type, but we obay -overlay flag
+	# Config file may specify base fs type, but we obay --fs overlay flag
 	[ "$FSTYP" == overlay ] || export OVL_BASE_FSTYP="$FSTYP"
 	export FSTYP=overlay
 
@@ -895,7 +895,7 @@ get_next_config() {
 		_check_device SCRATCH_LOGDEV optional $SCRATCH_LOGDEV
 	fi
 
-	# Override FSTYP from config when running ./check -overlay
+	# Override FSTYP from config when running ./check --fs overlay
 	# and maybe override base fs TEST/SCRATCH_DEV with overlay base dirs.
 	# We need to do this *after* default mount options are set by base FSTYP
 	# and *after* SCRATCH_DEV is deduced from SCRATCH_DEV_POOL
@@ -930,7 +930,7 @@ else
 	export TEST_DIR=`_canonicalize_mountpoint TEST_DIR $TEST_DIR`
 	export SCRATCH_MNT=`_canonicalize_mountpoint SCRATCH_MNT $SCRATCH_MNT`
 
-	# Override FSTYP from config when running ./check -overlay
+	# Override FSTYP from config when running ./check --fs overlay
 	# and maybe override base fs TEST/SCRATCH_DEV with overlay base dirs
 	if [ "$OVERLAY" == "true" -o "$FSTYP" == "overlay" ]; then
 		_overlay_config_override
diff --git a/common/rc b/common/rc
index 26db5bbd..39d24ef0 100644
--- a/common/rc
+++ b/common/rc
@@ -4340,7 +4340,7 @@ _has_metadata_journaling()
 		;;
 	overlay)
 		# metadata journaling check is based on base filesystem configurations
-		# and  because -overlay option saves those configurations to OVL_BASE_*,
+		# and  because --fs overlay option saves those configurations to OVL_BASE_*,
 		# adding restore/override the configurations before/after the check.
 		if [ ! -z $OVL_BASE_FSTYP -a $OVL_BASE_FSTYP != "overlay" ]; then
 			local ret
-- 
2.54.0


  parent reply	other threads:[~2026-05-12 13:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-12 13:25 [RFC PATCH 0/4] Rewrite the check argument parsing Zorro Lang
2026-05-12 13:25 ` [RFC PATCH 1/4] check: refactor argument parsing with getopt Zorro Lang
2026-05-12 13:25 ` Zorro Lang [this message]
2026-05-12 13:25 ` [RFC PATCH 3/4] check: consolidate argument handling into function Zorro Lang
2026-05-12 13:25 ` [RFC PATCH 4/4] check: add deprecated options warning Zorro Lang
2026-08-13 15:30 ` [RFC PATCH 0/4] Rewrite the check argument parsing Zorro Lang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260512132539.931482-3-zlang@kernel.org \
    --to=zlang@kernel.org \
    --cc=fstests@vger.kernel.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.