Message ID | 162317278957.653489.1221763643277904130.stgit@locust (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fstests: move test group lists into test files | expand |
On 6/8/21 10:19 AM, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Refactor every test in the entire test suite to use the new boilerplate > functions. This also migrates 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: This patch submission only contains diffs of the first seven btrfs > tests because vger rejects 1.5MB patches. The full conversion is in the > git branch linked from the cover letter. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> Ok... I guess I rvb the command? Since this patch by itself cant really be applied. The tool output look pretty consistent to me though. Reviewed-by: Allison Henderson <allison.henderson@oracle.com> > --- > tests/btrfs/001 | 15 ++++----------- > tests/btrfs/002 | 15 ++++----------- > tests/btrfs/003 | 15 ++++----------- > tests/btrfs/004 | 15 ++++----------- > tests/btrfs/005 | 16 ++++------------ > tests/btrfs/006 | 16 ++++------------ > 6 files changed, 24 insertions(+), 68 deletions(-) > > > diff --git a/tests/btrfs/001 b/tests/btrfs/001 > index fb051e8a..5d5849f0 100755 > --- a/tests/btrfs/001 > +++ b/tests/btrfs/001 > @@ -6,23 +6,16 @@ > # > # Test btrfs's subvolume and snapshot support > # > -seq=`basename $0` > -seqres=$RESULT_DIR/$seq > -echo "QA output created by $seq" > - > -here=`pwd` > -tmp=/tmp/$$ > -status=1 # failure is the default! > +. ./common/preamble > +_begin_fstest auto quick subvol snapshot > > +# Override the default cleanup function. > _cleanup() > { > rm -f $tmp.* > } > > -trap "_cleanup ; exit \$status" 0 1 2 3 15 > - > -# get standard environment, filters and checks > -. ./common/rc > +# Import common functions. > . ./common/filter > . ./common/filter.btrfs > > diff --git a/tests/btrfs/002 b/tests/btrfs/002 > index 66775562..96332271 100755 > --- a/tests/btrfs/002 > +++ b/tests/btrfs/002 > @@ -6,23 +6,16 @@ > # > # Extented btrfs snapshot test cases > # > -seq=`basename $0` > -seqres=$RESULT_DIR/$seq > -echo "QA output created by $seq" > - > -here=`pwd` > -tmp=/tmp/$$ > -status=1 # failure is the default! > +. ./common/preamble > +_begin_fstest auto snapshot > > +# Override the default cleanup function. > _cleanup() > { > rm -f $tmp.* > } > > -trap "_cleanup ; exit \$status" 0 1 2 3 15 > - > -# get standard environment, filters and checks > -. ./common/rc > +# Import common functions. > . ./common/filter > > _supported_fs btrfs > diff --git a/tests/btrfs/003 b/tests/btrfs/003 > index fbb313fb..d241ec6e 100755 > --- a/tests/btrfs/003 > +++ b/tests/btrfs/003 > @@ -6,16 +6,11 @@ > # > # btrfs vol tests > # > -seq=`basename $0` > -seqres=$RESULT_DIR/$seq > -echo "QA output created by $seq" > +. ./common/preamble > +_begin_fstest 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 > > # Check if all scratch dev pools are deletable > deletable_scratch_dev_pool() > @@ -32,6 +27,7 @@ deletable_scratch_dev_pool() > return 0 > } > > +# Override the default cleanup function. > _cleanup() > { > cd / > @@ -42,8 +38,7 @@ _cleanup() > fi > } > > -# get standard environment, filters and checks > -. ./common/rc > +# Import common functions. > . ./common/filter > > _supported_fs btrfs > @@ -51,8 +46,6 @@ _require_scratch > _require_scratch_dev_pool 4 > _require_command "$WIPEFS_PROG" wipefs > > -rm -f $seqres.full > - > # Test cases related to raid in btrfs > _test_raid0() > { > diff --git a/tests/btrfs/004 b/tests/btrfs/004 > index 0458d2b6..4e767a2f 100755 > --- a/tests/btrfs/004 > +++ b/tests/btrfs/004 > @@ -9,25 +9,20 @@ > # 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/preamble > +_begin_fstest auto rw metadata > > -here=`pwd` > -tmp=/tmp/$$ > -status=1 > noise_pid=0 > > +# Override the default cleanup function. > _cleanup() > { > rm $tmp.running > wait > rm -f $tmp.* > } > -trap "_cleanup; exit \$status" 0 1 2 3 15 > > -# get standard environment, filters and checks > -. ./common/rc > +# Import common functions. > . ./common/filter > > # real QA test starts here > @@ -38,8 +33,6 @@ _require_btrfs_command inspect-internal logical-resolve > _require_btrfs_command inspect-internal inode-resolve > _require_command "$FILEFRAG_PROG" filefrag > > -rm -f $seqres.full > - > FILEFRAG_FILTER=' > if (/blocks? of (\d+) bytes/) { > $blocksize = $1; > diff --git a/tests/btrfs/005 b/tests/btrfs/005 > index ff20a638..ac9e8bfa 100755 > --- a/tests/btrfs/005 > +++ b/tests/btrfs/005 > @@ -6,17 +6,12 @@ > # > # Btrfs Online defragmentation tests > # > -seq=`basename $0` > -seqres=$RESULT_DIR/$seq > -echo "QA output created by $seq" > -here="`pwd`" > -tmp=/tmp/$$ > +. ./common/preamble > +_begin_fstest auto defrag > cnt=119 > filesize=48000 > > -status=1 # failure is the default! > -trap "_cleanup; exit \$status" 0 1 2 3 15 > - > +# Override the default cleanup function. > _cleanup() > { > cd / > @@ -111,8 +106,7 @@ _rundefrag() > _check_scratch_fs > } > > -# get standard environment, filters and checks > -. ./common/rc > +# Import common functions. > . ./common/filter > . ./common/defrag > > @@ -120,8 +114,6 @@ _rundefrag() > _supported_fs btrfs > _require_scratch > > -rm -f $seqres.full > - > _scratch_mkfs >/dev/null 2>&1 > _scratch_mount > _require_defrag > diff --git a/tests/btrfs/006 b/tests/btrfs/006 > index 67f1fcd8..c0f9541a 100755 > --- a/tests/btrfs/006 > +++ b/tests/btrfs/006 > @@ -7,23 +7,17 @@ > # run basic btrfs information commands in various ways > # sanity tests: filesystem show, label, sync, and device stats > # > -seq=`basename $0` > -seqres=$RESULT_DIR/$seq > -echo "== QA output created by $seq" > - > -here=`pwd` > -tmp=/tmp/$$ > -status=1 # failure is the default! > -trap "_cleanup; exit \$status" 0 1 2 3 15 > +. ./common/preamble > +_begin_fstest auto quick volume > > +# Override the default cleanup function. > _cleanup() > { > cd / > rm -f $tmp.* > } > > -# get standard environment, filters and checks > -. ./common/rc > +# Import common functions. > . ./common/filter.btrfs > > # real QA test starts here > @@ -33,8 +27,6 @@ _supported_fs btrfs > _require_scratch > _require_scratch_dev_pool > > -rm -f $seqres.full > - > FIRST_POOL_DEV=`echo $SCRATCH_DEV_POOL | awk '{print $1}'` > LAST_POOL_DEV=`echo $SCRATCH_DEV_POOL | awk '{print $NF}'` > TOTAL_DEVS=`echo $SCRATCH_DEV_POOL | wc -w` >
On Tue, Jun 08, 2021 at 10:19:49AM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Refactor every test in the entire test suite to use the new boilerplate > functions. This also migrates 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: This patch submission only contains diffs of the first seven btrfs > tests because vger rejects 1.5MB patches. The full conversion is in the > git branch linked from the cover letter. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> [...] > diff --git a/tests/btrfs/006 b/tests/btrfs/006 > index 67f1fcd8..c0f9541a 100755 > --- a/tests/btrfs/006 > +++ b/tests/btrfs/006 > @@ -7,23 +7,17 @@ > # run basic btrfs information commands in various ways > # sanity tests: filesystem show, label, sync, and device stats > # > -seq=`basename $0` > -seqres=$RESULT_DIR/$seq > -echo "== QA output created by $seq" > - > -here=`pwd` > -tmp=/tmp/$$ > -status=1 # failure is the default! > -trap "_cleanup; exit \$status" 0 1 2 3 15 > +. ./common/preamble > +_begin_fstest auto quick volume > > +# Override the default cleanup function. > _cleanup() > { > cd / > rm -f $tmp.* > } A lot of the _cleanup() functions (such as the one above) are identical to the one in common/preamble. It might make sense to make tools/convert-group recognize these and remove them. - Eric
On Fri, Jun 11, 2021 at 04:29:30PM -0700, Eric Biggers wrote: > On Tue, Jun 08, 2021 at 10:19:49AM -0700, Darrick J. Wong wrote: > > From: Darrick J. Wong <djwong@kernel.org> > > > > Refactor every test in the entire test suite to use the new boilerplate > > functions. This also migrates 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: This patch submission only contains diffs of the first seven btrfs > > tests because vger rejects 1.5MB patches. The full conversion is in the > > git branch linked from the cover letter. > > > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > [...] > > diff --git a/tests/btrfs/006 b/tests/btrfs/006 > > index 67f1fcd8..c0f9541a 100755 > > --- a/tests/btrfs/006 > > +++ b/tests/btrfs/006 > > @@ -7,23 +7,17 @@ > > # run basic btrfs information commands in various ways > > # sanity tests: filesystem show, label, sync, and device stats > > # > > -seq=`basename $0` > > -seqres=$RESULT_DIR/$seq > > -echo "== QA output created by $seq" > > - > > -here=`pwd` > > -tmp=/tmp/$$ > > -status=1 # failure is the default! > > -trap "_cleanup; exit \$status" 0 1 2 3 15 > > +. ./common/preamble > > +_begin_fstest auto quick volume > > > > +# Override the default cleanup function. > > _cleanup() > > { > > cd / > > rm -f $tmp.* > > } > > A lot of the _cleanup() functions (such as the one above) are identical to the > one in common/preamble. It might make sense to make tools/convert-group > recognize these and remove them. The following command would remove most of them, including ones that omit the "cd /" or use "rm -rf" instead of "rm -f": sed -z -E -i 's/(#[^#\n]*\n)*_cleanup\(\)\n\{\n(\s+cd \/\n)?\s+rm -r?f "?\$tmp"?\.\*\n\}\n\n?//' tests/*/* I'm not sure how far you want to go, though. - Eric
On Fri, Jun 11, 2021 at 05:17:00PM -0700, Eric Biggers wrote: > On Fri, Jun 11, 2021 at 04:29:30PM -0700, Eric Biggers wrote: > > On Tue, Jun 08, 2021 at 10:19:49AM -0700, Darrick J. Wong wrote: > > > From: Darrick J. Wong <djwong@kernel.org> > > > > > > Refactor every test in the entire test suite to use the new boilerplate > > > functions. This also migrates 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: This patch submission only contains diffs of the first seven btrfs > > > tests because vger rejects 1.5MB patches. The full conversion is in the > > > git branch linked from the cover letter. > > > > > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > > [...] > > > diff --git a/tests/btrfs/006 b/tests/btrfs/006 > > > index 67f1fcd8..c0f9541a 100755 > > > --- a/tests/btrfs/006 > > > +++ b/tests/btrfs/006 > > > @@ -7,23 +7,17 @@ > > > # run basic btrfs information commands in various ways > > > # sanity tests: filesystem show, label, sync, and device stats > > > # > > > -seq=`basename $0` > > > -seqres=$RESULT_DIR/$seq > > > -echo "== QA output created by $seq" > > > - > > > -here=`pwd` > > > -tmp=/tmp/$$ > > > -status=1 # failure is the default! > > > -trap "_cleanup; exit \$status" 0 1 2 3 15 > > > +. ./common/preamble > > > +_begin_fstest auto quick volume > > > > > > +# Override the default cleanup function. > > > _cleanup() > > > { > > > cd / > > > rm -f $tmp.* > > > } > > > > A lot of the _cleanup() functions (such as the one above) are identical to the > > one in common/preamble. It might make sense to make tools/convert-group > > recognize these and remove them. > > The following command would remove most of them, including ones that omit the > "cd /" or use "rm -rf" instead of "rm -f": > > sed -z -E -i 's/(#[^#\n]*\n)*_cleanup\(\)\n\{\n(\s+cd \/\n)?\s+rm -r?f "?\$tmp"?\.\*\n\}\n\n?//' tests/*/* > > I'm not sure how far you want to go, though. Ooh nice, I'll incorporate this, thanks! --D > > - Eric
diff --git a/tests/btrfs/001 b/tests/btrfs/001 index fb051e8a..5d5849f0 100755 --- a/tests/btrfs/001 +++ b/tests/btrfs/001 @@ -6,23 +6,16 @@ # # Test btrfs's subvolume and snapshot support # -seq=`basename $0` -seqres=$RESULT_DIR/$seq -echo "QA output created by $seq" - -here=`pwd` -tmp=/tmp/$$ -status=1 # failure is the default! +. ./common/preamble +_begin_fstest auto quick subvol snapshot +# Override the default cleanup function. _cleanup() { rm -f $tmp.* } -trap "_cleanup ; exit \$status" 0 1 2 3 15 - -# get standard environment, filters and checks -. ./common/rc +# Import common functions. . ./common/filter . ./common/filter.btrfs diff --git a/tests/btrfs/002 b/tests/btrfs/002 index 66775562..96332271 100755 --- a/tests/btrfs/002 +++ b/tests/btrfs/002 @@ -6,23 +6,16 @@ # # Extented btrfs snapshot test cases # -seq=`basename $0` -seqres=$RESULT_DIR/$seq -echo "QA output created by $seq" - -here=`pwd` -tmp=/tmp/$$ -status=1 # failure is the default! +. ./common/preamble +_begin_fstest auto snapshot +# Override the default cleanup function. _cleanup() { rm -f $tmp.* } -trap "_cleanup ; exit \$status" 0 1 2 3 15 - -# get standard environment, filters and checks -. ./common/rc +# Import common functions. . ./common/filter _supported_fs btrfs diff --git a/tests/btrfs/003 b/tests/btrfs/003 index fbb313fb..d241ec6e 100755 --- a/tests/btrfs/003 +++ b/tests/btrfs/003 @@ -6,16 +6,11 @@ # # btrfs vol tests # -seq=`basename $0` -seqres=$RESULT_DIR/$seq -echo "QA output created by $seq" +. ./common/preamble +_begin_fstest 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 # Check if all scratch dev pools are deletable deletable_scratch_dev_pool() @@ -32,6 +27,7 @@ deletable_scratch_dev_pool() return 0 } +# Override the default cleanup function. _cleanup() { cd / @@ -42,8 +38,7 @@ _cleanup() fi } -# get standard environment, filters and checks -. ./common/rc +# Import common functions. . ./common/filter _supported_fs btrfs @@ -51,8 +46,6 @@ _require_scratch _require_scratch_dev_pool 4 _require_command "$WIPEFS_PROG" wipefs -rm -f $seqres.full - # Test cases related to raid in btrfs _test_raid0() { diff --git a/tests/btrfs/004 b/tests/btrfs/004 index 0458d2b6..4e767a2f 100755 --- a/tests/btrfs/004 +++ b/tests/btrfs/004 @@ -9,25 +9,20 @@ # 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/preamble +_begin_fstest auto rw metadata -here=`pwd` -tmp=/tmp/$$ -status=1 noise_pid=0 +# Override the default cleanup function. _cleanup() { rm $tmp.running wait rm -f $tmp.* } -trap "_cleanup; exit \$status" 0 1 2 3 15 -# get standard environment, filters and checks -. ./common/rc +# Import common functions. . ./common/filter # real QA test starts here @@ -38,8 +33,6 @@ _require_btrfs_command inspect-internal logical-resolve _require_btrfs_command inspect-internal inode-resolve _require_command "$FILEFRAG_PROG" filefrag -rm -f $seqres.full - FILEFRAG_FILTER=' if (/blocks? of (\d+) bytes/) { $blocksize = $1; diff --git a/tests/btrfs/005 b/tests/btrfs/005 index ff20a638..ac9e8bfa 100755 --- a/tests/btrfs/005 +++ b/tests/btrfs/005 @@ -6,17 +6,12 @@ # # Btrfs Online defragmentation tests # -seq=`basename $0` -seqres=$RESULT_DIR/$seq -echo "QA output created by $seq" -here="`pwd`" -tmp=/tmp/$$ +. ./common/preamble +_begin_fstest auto defrag cnt=119 filesize=48000 -status=1 # failure is the default! -trap "_cleanup; exit \$status" 0 1 2 3 15 - +# Override the default cleanup function. _cleanup() { cd / @@ -111,8 +106,7 @@ _rundefrag() _check_scratch_fs } -# get standard environment, filters and checks -. ./common/rc +# Import common functions. . ./common/filter . ./common/defrag @@ -120,8 +114,6 @@ _rundefrag() _supported_fs btrfs _require_scratch -rm -f $seqres.full - _scratch_mkfs >/dev/null 2>&1 _scratch_mount _require_defrag diff --git a/tests/btrfs/006 b/tests/btrfs/006 index 67f1fcd8..c0f9541a 100755 --- a/tests/btrfs/006 +++ b/tests/btrfs/006 @@ -7,23 +7,17 @@ # run basic btrfs information commands in various ways # sanity tests: filesystem show, label, sync, and device stats # -seq=`basename $0` -seqres=$RESULT_DIR/$seq -echo "== QA output created by $seq" - -here=`pwd` -tmp=/tmp/$$ -status=1 # failure is the default! -trap "_cleanup; exit \$status" 0 1 2 3 15 +. ./common/preamble +_begin_fstest auto quick volume +# Override the default cleanup function. _cleanup() { cd / rm -f $tmp.* } -# get standard environment, filters and checks -. ./common/rc +# Import common functions. . ./common/filter.btrfs # real QA test starts here @@ -33,8 +27,6 @@ _supported_fs btrfs _require_scratch _require_scratch_dev_pool -rm -f $seqres.full - FIRST_POOL_DEV=`echo $SCRATCH_DEV_POOL | awk '{print $1}'` LAST_POOL_DEV=`echo $SCRATCH_DEV_POOL | awk '{print $NF}'` TOTAL_DEVS=`echo $SCRATCH_DEV_POOL | wc -w`