diff mbox series

fstests: common: Allow user to keep $seqres.dmesg for all tests

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

Commit Message

Qu Wenruo Nov. 29, 2019, 4:57 a.m. UTC
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(-)

Comments

Eryu Guan Dec. 1, 2019, 4:26 p.m. UTC | #1
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 mbox series

Patch

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
 }