[LTP] [PATCH 2/5] tst_test.sh: tst_mkfs(): Add support for extra opts

Petr Vorel pvorel@suse.cz
Tue Feb 8 19:28:59 CET 2022


Hi Cyril,

> > > +++ b/testcases/lib/tst_test.sh
> > > @@ -343,9 +343,8 @@ tst_mkfs()
> > >  	[ -z "$fs_type" ] && fs_type="$TST_DEFAULT_FS_TYPE"

> > >  	local device=${2:-$TST_DEVICE}
> > > -	[ $# -ge 1 ] && shift
> > > -	[ $# -ge 1 ] && shift
> > > -	local fs_opts="$@"
> > > +	local fs_opts="$3"
> > > +	local extra_opts="$4"

> > Doesn't this actually break the examples described in the
> > doc/shell-test-api.txt?

> > There we do have:

> > tst_mkfs ext4 /dev/device -T largefile

> > Which obviously parses as "-T" in the fs_opts and "largefile" in the
> > extra_opts.
> Good catch, I forget to check examples in docs.

> -T largefile would have to be quoted:
> tst_mkfs ext4 /dev/device "-T largefile"


> > I do not think that the support for extra opts can be added this way
> > without redesigning the tst_mkfs API. Maybe it would make more sense to
> > just pass the parameters in the same way we end up passing them on a
> > command line, i.e. we would only interpret the first parameter passed to
> > tst_mkfs as a filesystem type and pass the rest as $@.

> But then you'd have to always pass a device ($TST_DEVICE).
> And the problem is that I wanted to specify the options before loading
> tst_test.sh (together with TST_FORMAT_DEVICE=1). At this point TST_DEVICE
> is empty string. Therefore I'd prefer to quote fs-options to be passed to
> tst_mkfs as single option.
OK, now I understand you. It's all about tst_mkfs having $1, shift and rest $@.
And we avoid quoting as you suggested :).

But TST_* variables in stay the same. => I'll implement it in v2.

Thanks!

Kind regards,
Petr


More information about the ltp mailing list