All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET v1 00/13] fstests: move test group lists into test files
@ 2021-06-08 17:19 Darrick J. Wong
  2021-06-08 17:19 ` [PATCH 01/13] fstests: fix group check in new script Darrick J. Wong
                   ` (12 more replies)
  0 siblings, 13 replies; 55+ messages in thread
From: Darrick J. Wong @ 2021-06-08 17:19 UTC (permalink / raw)
  To: djwong, guaneryu; +Cc: linux-xfs, fstests, guan, amir73il, ebiggers

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.

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
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.

v1: promote from rfc, use group.list for autogenerated group files, fix
    odd build warts, rename preamble function, update readme

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-5.14
---
 .gitignore             |    3 
 README                 |   19 +
 check                  |    6 
 common/preamble        |   57 ++++
 include/buildgrouplist |    8 +
 new                    |  217 +++++-----------
 tests/Makefile         |    4 
 tests/btrfs/001        |   15 -
 tests/btrfs/002        |   15 -
 tests/btrfs/003        |   15 -
 tests/btrfs/004        |   15 -
 tests/btrfs/005        |   16 -
 tests/btrfs/006        |   16 -
 tests/btrfs/006.out    |    2 
 tests/btrfs/012.out    |    2 
 tests/btrfs/Makefile   |    4 
 tests/btrfs/group      |  245 ------------------
 tests/ceph/Makefile    |    4 
 tests/ceph/group       |    4 
 tests/cifs/Makefile    |    4 
 tests/cifs/group       |    6 
 tests/ext4/Makefile    |    4 
 tests/ext4/group       |   63 -----
 tests/f2fs/Makefile    |    4 
 tests/f2fs/group       |    7 -
 tests/generic/068      |    3 
 tests/generic/184.out  |    2 
 tests/generic/Makefile |    4 
 tests/generic/group    |  643 ------------------------------------------------
 tests/nfs/Makefile     |    4 
 tests/nfs/group        |    6 
 tests/ocfs2/Makefile   |    4 
 tests/ocfs2/group      |    1 
 tests/overlay/Makefile |    4 
 tests/overlay/group    |  100 -------
 tests/perf/Makefile    |    4 
 tests/perf/group       |    1 
 tests/shared/Makefile  |    4 
 tests/shared/group     |    8 -
 tests/udf/Makefile     |    4 
 tests/udf/group        |    6 
 tests/xfs/004          |    3 
 tests/xfs/Makefile     |    4 
 tests/xfs/group        |  534 ----------------------------------------
 tools/convert-group    |  131 ++++++++++
 tools/mkgroupfile      |   42 +++
 tools/mvtest           |   12 -
 tools/nextid           |    1 
 tools/nextid           |   39 +++
 tools/sort-group       |  112 --------
 50 files changed, 451 insertions(+), 1980 deletions(-)
 create mode 100644 common/preamble
 create mode 100644 include/buildgrouplist
 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
 create mode 100755 tools/convert-group
 create mode 100755 tools/mkgroupfile
 delete mode 120000 tools/nextid
 create mode 100755 tools/nextid
 delete mode 100755 tools/sort-group


^ permalink raw reply	[flat|nested] 55+ messages in thread
* [PATCHSET v2 00/13] fstests: move test group lists into test files
@ 2021-06-14 20:58 Darrick J. Wong
  2021-06-14 21:00 ` [PATCH 13/13] misc: update documentation to reflect auto-generated group files Darrick J. Wong
  0 siblings, 1 reply; 55+ messages in thread
From: Darrick J. Wong @ 2021-06-14 20:58 UTC (permalink / raw)
  To: djwong, guaneryu
  Cc: Allison Henderson, Chandan Babu R, linux-xfs, fstests, guan,
	amir73il, ebiggers

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.

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
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.

v1: promote from rfc, use group.list for autogenerated group files, fix
    odd build warts, rename preamble function, update readme
v2: add reviews, remove _cleanup functions that mirror the standard one,
    use rm -rf to clean $tmp.*

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-5.14
---
 .gitignore             |    3 
 README                 |   19 +
 check                  |    6 
 common/preamble        |   57 ++++
 include/buildgrouplist |    8 +
 new                    |  217 +++++-----------
 tests/Makefile         |    4 
 tests/btrfs/001        |   19 -
 tests/btrfs/002        |   19 -
 tests/btrfs/003        |   15 -
 tests/btrfs/004        |   15 -
 tests/btrfs/005        |   21 --
 tests/btrfs/006        |   21 --
 tests/btrfs/006.out    |    2 
 tests/btrfs/012.out    |    2 
 tests/btrfs/Makefile   |    6 
 tests/btrfs/group      |  246 ------------------
 tests/ceph/Makefile    |    6 
 tests/ceph/group       |    4 
 tests/cifs/Makefile    |    6 
 tests/cifs/group       |    6 
 tests/ext4/Makefile    |    6 
 tests/ext4/group       |   64 -----
 tests/f2fs/Makefile    |    6 
 tests/f2fs/group       |    7 -
 tests/generic/068      |    3 
 tests/generic/184.out  |    2 
 tests/generic/Makefile |    6 
 tests/generic/group    |  643 ------------------------------------------------
 tests/nfs/Makefile     |    6 
 tests/nfs/group        |    6 
 tests/ocfs2/Makefile   |    6 
 tests/ocfs2/group      |    1 
 tests/overlay/Makefile |    6 
 tests/overlay/group    |  100 -------
 tests/perf/Makefile    |    6 
 tests/perf/group       |    1 
 tests/shared/Makefile  |    6 
 tests/shared/group     |    8 -
 tests/udf/Makefile     |    6 
 tests/udf/group        |    6 
 tests/xfs/004          |    3 
 tests/xfs/Makefile     |    6 
 tests/xfs/group        |  534 ----------------------------------------
 tools/convert-group    |  138 ++++++++++
 tools/mkgroupfile      |   42 +++
 tools/mvtest           |   12 -
 tools/nextid           |    1 
 tools/nextid           |   31 ++
 tools/sort-group       |  112 --------
 50 files changed, 459 insertions(+), 2017 deletions(-)
 create mode 100644 common/preamble
 create mode 100644 include/buildgrouplist
 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
 create mode 100755 tools/convert-group
 create mode 100755 tools/mkgroupfile
 delete mode 120000 tools/nextid
 create mode 100755 tools/nextid
 delete mode 100755 tools/sort-group


^ permalink raw reply	[flat|nested] 55+ messages in thread
* [PATCHSET v3 00/13] fstests: move test group lists into test files
@ 2021-06-21 23:10 Darrick J. Wong
  2021-06-21 23:11 ` [PATCH 13/13] misc: update documentation to reflect auto-generated group files Darrick J. Wong
  0 siblings, 1 reply; 55+ messages in thread
From: Darrick J. Wong @ 2021-06-21 23:10 UTC (permalink / raw)
  To: djwong, guaneryu
  Cc: Chandan Babu R, Eric Biggers, Allison Henderson,
	Christoph Hellwig, linux-xfs, fstests, guan, amir73il, ebiggers

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.

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
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.

v1: promote from rfc, use group.list for autogenerated group files, fix
    odd build warts, rename preamble function, update readme
v2: add reviews, remove _cleanup functions that mirror the standard one,
    use rm -rf to clean $tmp.*
v3: fix a few documentation nits, rearrange some of the cleanups, tidy
    some unused variables

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-5.14
---
 .gitignore             |    3 
 README                 |   23 +-
 check                  |    6 
 common/preamble        |   63 +++++
 include/buildgrouplist |    8 +
 new                    |  217 +++++-----------
 tests/Makefile         |    4 
 tests/btrfs/001        |   19 -
 tests/btrfs/002        |   19 -
 tests/btrfs/003        |   15 -
 tests/btrfs/004        |   15 -
 tests/btrfs/005        |   21 --
 tests/btrfs/006        |   21 --
 tests/btrfs/006.out    |    2 
 tests/btrfs/012        |    2 
 tests/btrfs/012.out    |    2 
 tests/btrfs/Makefile   |    6 
 tests/btrfs/group      |  246 ------------------
 tests/ceph/Makefile    |    6 
 tests/ceph/group       |    4 
 tests/cifs/Makefile    |    6 
 tests/cifs/group       |    6 
 tests/ext4/Makefile    |    6 
 tests/ext4/group       |   64 -----
 tests/f2fs/Makefile    |    6 
 tests/f2fs/group       |    7 -
 tests/generic/068      |    3 
 tests/generic/184      |    2 
 tests/generic/184.out  |    2 
 tests/generic/Makefile |    6 
 tests/generic/group    |  643 ------------------------------------------------
 tests/nfs/Makefile     |    6 
 tests/nfs/group        |    6 
 tests/ocfs2/Makefile   |    6 
 tests/ocfs2/group      |    1 
 tests/overlay/Makefile |    6 
 tests/overlay/group    |  100 -------
 tests/perf/Makefile    |    6 
 tests/perf/group       |    1 
 tests/shared/Makefile  |    6 
 tests/shared/group     |    8 -
 tests/udf/Makefile     |    6 
 tests/udf/group        |    6 
 tests/xfs/004          |    3 
 tests/xfs/Makefile     |    6 
 tests/xfs/group        |  534 ----------------------------------------
 tools/convert-group    |  138 ++++++++++
 tools/mkgroupfile      |   42 +++
 tools/mvtest           |   15 -
 tools/nextid           |    1 
 tools/nextid           |   31 ++
 tools/sort-group       |  112 --------
 52 files changed, 471 insertions(+), 2022 deletions(-)
 create mode 100644 common/preamble
 create mode 100644 include/buildgrouplist
 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
 create mode 100755 tools/convert-group
 create mode 100755 tools/mkgroupfile
 delete mode 120000 tools/nextid
 create mode 100755 tools/nextid
 delete mode 100755 tools/sort-group


^ permalink raw reply	[flat|nested] 55+ messages in thread

end of thread, other threads:[~2021-06-21 23:11 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-08 17:19 [PATCHSET v1 00/13] fstests: move test group lists into test files Darrick J. Wong
2021-06-08 17:19 ` [PATCH 01/13] fstests: fix group check in new script Darrick J. Wong
2021-06-10  8:43   ` Chandan Babu R
2021-06-11 21:54     ` Allison Henderson
2021-06-08 17:19 ` [PATCH 02/13] misc: move exit status into trap handler Darrick J. Wong
2021-06-10  8:43   ` Chandan Babu R
2021-06-11 21:55   ` Allison Henderson
2021-06-08 17:19 ` [PATCH 03/13] fstests: refactor test boilerplate code Darrick J. Wong
2021-06-10  8:44   ` Chandan Babu R
2021-06-11 21:55   ` Allison Henderson
2021-06-12  0:08   ` Eric Biggers
2021-06-12  0:34     ` Darrick J. Wong
2021-06-08 17:19 ` [PATCH 04/13] fstests: add tool migrate group membership data to test files Darrick J. Wong
2021-06-10  8:44   ` Chandan Babu R
2021-06-11 21:55   ` Allison Henderson
2021-06-08 17:19 ` [PATCH 05/13] fstests: move test group info " Darrick J. Wong
2021-06-11 21:55   ` Allison Henderson
2021-06-11 23:29   ` Eric Biggers
2021-06-12  0:17     ` Eric Biggers
2021-06-12  0:34       ` Darrick J. Wong
2021-06-08 17:19 ` [PATCH 06/13] fstests: clean up open-coded golden output Darrick J. Wong
2021-06-10  8:57   ` Chandan Babu R
2021-06-11 21:55   ` Allison Henderson
2021-06-08 17:20 ` [PATCH 07/13] fstests: automatically generate group files Darrick J. Wong
2021-06-11  5:39   ` Chandan Babu R
2021-06-11 23:37   ` [PATCH v1.1 " Darrick J. Wong
2021-06-14  5:38     ` Allison Henderson
2021-06-08 17:20 ` [PATCH 08/13] fstests: convert nextid to use automatic group generation Darrick J. Wong
2021-06-11  6:31   ` Chandan Babu R
2021-06-11 23:46   ` Eric Biggers
2021-06-12  0:40     ` Darrick J. Wong
2021-06-14  5:38   ` Allison Henderson
2021-06-08 17:20 ` [PATCH 09/13] fstests: adapt the new test script to our new group tagging scheme Darrick J. Wong
2021-06-11  6:55   ` Chandan Babu R
2021-06-14  5:38   ` Allison Henderson
2021-06-08 17:20 ` [PATCH 10/13] check: use generated group files Darrick J. Wong
2021-06-11  7:49   ` Chandan Babu R
2021-06-14 19:39   ` Allison Henderson
2021-06-08 17:20 ` [PATCH 11/13] fstests: remove " Darrick J. Wong
2021-06-11  7:53   ` Chandan Babu R
2021-06-11 23:24   ` Eric Biggers
2021-06-11 23:29     ` Darrick J. Wong
2021-06-11 23:51       ` Eric Biggers
2021-06-14 19:39   ` Allison Henderson
2021-06-08 17:20 ` [PATCH 12/13] fstests: remove test group management code Darrick J. Wong
2021-06-11  8:19   ` Chandan Babu R
2021-06-14 19:39   ` Allison Henderson
2021-06-08 17:20 ` [PATCH 13/13] misc: update documentation to reflect auto-generated group files Darrick J. Wong
2021-06-11  8:23   ` Chandan Babu R
2021-06-14 19:39   ` Allison Henderson
2021-06-14 20:49     ` Darrick J. Wong
2021-06-14 20:58 [PATCHSET v2 00/13] fstests: move test group lists into test files Darrick J. Wong
2021-06-14 21:00 ` [PATCH 13/13] misc: update documentation to reflect auto-generated group files Darrick J. Wong
2021-06-16 21:00   ` Eric Biggers
2021-06-17  0:11     ` Darrick J. Wong
2021-06-21 23:10 [PATCHSET v3 00/13] fstests: move test group lists into test files Darrick J. Wong
2021-06-21 23:11 ` [PATCH 13/13] misc: update documentation to reflect auto-generated group files Darrick J. Wong

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.