Message ID | 20191129045743.47105-1-wqu@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fstests: common: Allow user to keep $seqres.dmesg for all tests | expand |
On Fri, Nov 29, 2019 at 12:57:43PM +0800, Qu Wenruo wrote: > Currently fstests will remove $seqres.dmesg if nothing wrong happened. > It saves some space, but sometimes it may not provide good enough > history for developers to check. > E.g. some unexpected dmesg from fs, but not serious enough to be caught > by current filter. > > So instead of deleting the ordinary $seqres.dmesg, provide a new config: > KEEP_DMESG, to allow user to choose whether to keep the dmesg. > > The default value for it is 0, which keeps the existing behavior by > deleting ordinary dmesg. > > Signed-off-by: Qu Wenruo <wqu@suse.com> > --- > common/config | 4 ++++ > common/rc | 4 +++- > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/common/config b/common/config > index 1b75777f..b409f32c 100644 > --- a/common/config > +++ b/common/config > @@ -22,6 +22,9 @@ > # RMT_IRIXTAPE_DEV- the IRIX remote tape device for the xfsdump tests > # RMT_TAPE_USER - remote user for tape device > # SELINUX_MOUNT_OPTIONS - Options to use when SELinux is enabled. > +# KEEP_DMESG - whether to keep all dmesg for each test case. > +# 1: keep all dmesg > +# 0: only keep dmesg with error/warning (default) > # > # - These can be added to $HOST_CONFIG_DIR (witch default to ./config) > # below or a separate local configuration file can be used (using > @@ -757,6 +760,7 @@ if [ -z "$CONFIG_INCLUDED" ]; then > [ -z "$TEST_FS_MOUNT_OPTS" ] && _test_mount_opts > [ -z "$MKFS_OPTIONS" ] && _mkfs_opts > [ -z "$FSCK_OPTIONS" ] && _fsck_opts > + [ -z "$KEEP_DMESG" ] && export KEEP_DMESG=0 I changed this to a "yes"/"no" config, to match USE_KMEMLEAK, and updated README as well. Thanks, Eryu > else > # We get here for the non multi section case, on every test that sources > # common/rc after re-sourcing the HOST_OPTIONS config file. > diff --git a/common/rc b/common/rc > index e5535279..a1386f61 100644 > --- a/common/rc > +++ b/common/rc > @@ -3634,7 +3634,9 @@ _check_dmesg() > _dump_err "_check_dmesg: something found in dmesg (see $seqres.dmesg)" > return 1 > else > - rm -f $seqres.dmesg > + if [ "$KEEP_DMESG" != 1 ]; then > + rm -f $seqres.dmesg > + fi > return 0 > fi > } > -- > 2.23.0 >
diff --git a/common/config b/common/config index 1b75777f..b409f32c 100644 --- a/common/config +++ b/common/config @@ -22,6 +22,9 @@ # RMT_IRIXTAPE_DEV- the IRIX remote tape device for the xfsdump tests # RMT_TAPE_USER - remote user for tape device # SELINUX_MOUNT_OPTIONS - Options to use when SELinux is enabled. +# KEEP_DMESG - whether to keep all dmesg for each test case. +# 1: keep all dmesg +# 0: only keep dmesg with error/warning (default) # # - These can be added to $HOST_CONFIG_DIR (witch default to ./config) # below or a separate local configuration file can be used (using @@ -757,6 +760,7 @@ if [ -z "$CONFIG_INCLUDED" ]; then [ -z "$TEST_FS_MOUNT_OPTS" ] && _test_mount_opts [ -z "$MKFS_OPTIONS" ] && _mkfs_opts [ -z "$FSCK_OPTIONS" ] && _fsck_opts + [ -z "$KEEP_DMESG" ] && export KEEP_DMESG=0 else # We get here for the non multi section case, on every test that sources # common/rc after re-sourcing the HOST_OPTIONS config file. diff --git a/common/rc b/common/rc index e5535279..a1386f61 100644 --- a/common/rc +++ b/common/rc @@ -3634,7 +3634,9 @@ _check_dmesg() _dump_err "_check_dmesg: something found in dmesg (see $seqres.dmesg)" return 1 else - rm -f $seqres.dmesg + if [ "$KEEP_DMESG" != 1 ]; then + rm -f $seqres.dmesg + fi return 0 fi }
Currently fstests will remove $seqres.dmesg if nothing wrong happened. It saves some space, but sometimes it may not provide good enough history for developers to check. E.g. some unexpected dmesg from fs, but not serious enough to be caught by current filter. So instead of deleting the ordinary $seqres.dmesg, provide a new config: KEEP_DMESG, to allow user to choose whether to keep the dmesg. The default value for it is 0, which keeps the existing behavior by deleting ordinary dmesg. Signed-off-by: Qu Wenruo <wqu@suse.com> --- common/config | 4 ++++ common/rc | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-)