[LTP] [PATCH 1/5] tst_test.sh: Add $TST_DEFAULT_FS_TYPE

Cyril Hrubis chrubis@suse.cz
Tue Feb 8 14:47:42 CET 2022


Hi!
> diff --git a/testcases/commands/df/df01.sh b/testcases/commands/df/df01.sh
> index b821452e60..0d09e290ce 100755
> --- a/testcases/commands/df/df01.sh
> +++ b/testcases/commands/df/df01.sh
> @@ -23,13 +23,11 @@ usage: $0 [-f <ext2|ext3|ext4|vfat|...>]
>  
>  OPTIONS
>  -f	Specify the type of filesystem to be built.  If not
> -	specified, the default filesystem type (currently ext2)
> +	specified, the default filesystem type (currently $TST_DEFAULT_FS_TYPE)
>  	is used.
>  EOF
>  }
>  
> -TST_FS_TYPE=ext2
> -
>  parse_args()
>  {
>  	TST_FS_TYPE="$2"
> diff --git a/testcases/commands/mkfs/mkfs01.sh b/testcases/commands/mkfs/mkfs01.sh
> index 17c7fb9e4a..e2896858f9 100755
> --- a/testcases/commands/mkfs/mkfs01.sh
> +++ b/testcases/commands/mkfs/mkfs01.sh
> @@ -23,7 +23,7 @@ usage: $0 [-f <ext2|ext3|ext4|vfat|...>]
>  
>  OPTIONS
>  -f	Specify the type of filesystem to be built.  If not
> -	specified, the default filesystem type (currently ext2)
> +	specified, the default filesystem type (currently $TST_DEFAULT_FS_TYPE)
>  	is used.
>  EOF
>  }
> @@ -45,7 +45,7 @@ setup()
>  mkfs_verify_type()
>  {
>  	if [ -z "$1" ]; then
> -		blkid $2 -t TYPE="ext2" >/dev/null
> +		blkid $2 -t TYPE="$TST_DEFAULT_FS_TYPE" >/dev/null
>  	else
>  		if [ "$1" = "msdos" ]; then
>  			blkid $2 -t TYPE="vfat" >/dev/null
> diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
> index 30614974c3..eb3bf0df12 100644
> --- a/testcases/lib/tst_test.sh
> +++ b/testcases/lib/tst_test.sh
> @@ -17,6 +17,8 @@ export TST_ITERATIONS=1
>  export TST_TMPDIR_RHOST=0
>  export TST_LIB_LOADED=1
>  
> +export TST_DEFAULT_FS_TYPE="ext2"

Actually if we wanted to sync with the C library it should be:

if [ -z "$TST_FS_TYPE" ]; then
	if [ -n "$LTP_DEV_FS_TYPE" ]; then
		export TST_FS_TYPE="$LTP_DEV_FS_TYPE"
	else
		export TST_FS_TYPE="ext2"
	fi
fi

That's equivalent of the .dev_fs_type in the tst_test structure as we
do:

	if (tst_test->dev_fs_type)
		tdev.fs_type = tst_test->dev_fs_type;
	else
		tdev.fs_type = tst_dev_fs_type();

And the tst_dev_fs_type() returns either $LTP_DEV_FS_TYPE or "ext2" if
it's not defined.

>  . tst_ansi_color.sh
>  . tst_security.sh
>  
> @@ -338,15 +340,13 @@ tst_umount()
>  tst_mkfs()
>  {
>  	local fs_type=${1:-$TST_FS_TYPE}
> +	[ -z "$fs_type" ] && fs_type="$TST_DEFAULT_FS_TYPE"
> +
>  	local device=${2:-$TST_DEVICE}
>  	[ $# -ge 1 ] && shift
>  	[ $# -ge 1 ] && shift
>  	local fs_opts="$@"
>  
> -	if [ -z "$fs_type" ]; then
> -		tst_brk TBROK "No fs_type specified"
> -	fi
> -
>  	if [ -z "$device" ]; then
>  		tst_brk TBROK "No device specified"
>  	fi
> @@ -599,7 +599,7 @@ tst_run()
>  	local _tst_name
>  
>  	if [ -n "$TST_TEST_PATH" ]; then
> -		for _tst_i in $(grep '^[^#]*\bTST_' "$TST_TEST_PATH" | sed 's/.*TST_//; s/[="} \t\/:`].*//'); do
> +		for _tst_i in $(grep '^[^#]*\bTST_' "$TST_TEST_PATH" | sed 's/.*TST_//; s/[="} \t\/:`)].*//'); do
>  			case "$_tst_i" in
>  			DISABLE_APPARMOR|DISABLE_SELINUX);;
>  			SETUP|CLEANUP|TESTFUNC|ID|CNT|MIN_KVER);;
> @@ -614,6 +614,7 @@ tst_run()
>  			NET_SKIP_VARIABLE_INIT|NEEDS_CHECKPOINTS);;
>  			CHECKPOINT_WAIT|CHECKPOINT_WAKE);;
>  			CHECKPOINT_WAKE2|CHECKPOINT_WAKE_AND_WAIT);;
> +			DEFAULT_FS_TYPE);;
>  			*) tst_res TWARN "Reserved variable TST_$_tst_i used!";;
>  			esac
>  		done
> -- 
> 2.34.1
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list