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

Petr Vorel pvorel@suse.cz
Tue Feb 8 19:08:18 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.

OTOH mostly only fs-size is the parameter, not really used now.

Kind regards,
Petr


More information about the ltp mailing list