[LTP] [PATCH 3/5] tst_test.sh: Add $TST_FORMAT_DEVICE and related vars

Cyril Hrubis chrubis@suse.cz
Tue Feb 8 15:13:08 CET 2022


On Wed, Jan 26, 2022 at 07:12:08PM +0100, Petr Vorel wrote:
> i.e.: TST_DEV_EXTRA_OPTS, TST_DEV_FS_OPTS, TST_FS_TYPE
> (to sync with C API).
> 
> Also stop using pattern 'TST_NEEDS_FOO', sometimes 'NEEDS' just does not
> fit to variable name.
> 
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
>  doc/shell-test-api.txt    | 9 ++++++++-
>  testcases/lib/tst_test.sh | 7 ++++++-
>  2 files changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/doc/shell-test-api.txt b/doc/shell-test-api.txt
> index e082808f7e..6605c65b47 100644
> --- a/doc/shell-test-api.txt
> +++ b/doc/shell-test-api.txt
> @@ -189,11 +189,18 @@ space as default value is used. Of course, it's possible to use separate functio
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  
>  Similarily to the C library various checks and preparations can be requested
> -simply by setting right '$TST_NEEDS_FOO'.
> +simply by setting right '$TST_FOO'.
>  
>  [options="header"]
>  |=============================================================================
>  | Variable name            | Action done
> +| 'TST_DEV_EXTRA_OPTS'     | Pass additional 'mkfs' options when use 'TST_FORMAT_DEVICE'.
> +| 'TST_DEV_FS_OPTS'        | Pass extra 'mkfs' options after the device name
> +|                          | when use 'TST_FORMAT_DEVICE'.
> +| 'TST_FORMAT_DEVICE'      | Format a block device with a filesystem. See also
> +|                          | 'TST_DEV_EXTRA_OPTS', 'TST_DEV_FS_OPTS', 'TST_FS_TYPE'.
> +| 'TST_FS_TYPE'            | Overwrite the default filesystem to be used.
                                  ^
                                Override?
> +|                          | Implies 'TST_NEEDS_DEVICE=1' (no need to set it).
>  | 'TST_NEEDS_ROOT'         | Exit the test with 'TCONF' unless executed under root.
>  |                          | Alternatively the 'tst_require_root' command can be used.
>  | 'TST_NEEDS_TMPDIR'       | Create test temporary directory and cd into it.
> diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
> index 4707613158..49eee8d00f 100644
> --- a/testcases/lib/tst_test.sh
> +++ b/testcases/lib/tst_test.sh
> @@ -613,7 +613,7 @@ tst_run()
>  			NET_SKIP_VARIABLE_INIT|NEEDS_CHECKPOINTS);;
>  			CHECKPOINT_WAIT|CHECKPOINT_WAKE);;
>  			CHECKPOINT_WAKE2|CHECKPOINT_WAKE_AND_WAIT);;
> -			DEFAULT_FS_TYPE);;
> +			DEFAULT_FS_TYPE|DEV_EXTRA_OPTS|DEV_FS_OPTS|FORMAT_DEVICE);;
>  			*) tst_res TWARN "Reserved variable TST_$_tst_i used!";;
>  			esac
>  		done
> @@ -658,6 +658,7 @@ tst_run()
>  
>  	_tst_setup_timer
>  
> +	[ "$TST_FORMAT_DEVICE" = 1 ] && TST_NEEDS_DEVICE=1
>  	[ "$TST_NEEDS_DEVICE" = 1 ] && TST_NEEDS_TMPDIR=1
>  
>  	if [ "$TST_NEEDS_TMPDIR" = 1 ]; then
> @@ -689,6 +690,10 @@ tst_run()
>  
>  	[ -n "$TST_NEEDS_MODULE" ] && tst_require_module "$TST_NEEDS_MODULE"
>  
> +	if [ "$TST_FORMAT_DEVICE" = 1 ]; then
> +		tst_mkfs "$TST_FS_TYPE" "$TST_DEVICE" "$TST_DEV_FS_OPTS" "$TST_DEV_EXTRA_OPTS"

This would work with the proposed change to tst_mkfs if we swapped the
$TST_DEV_FS_OPTS with $TST_DEVICE.

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list