[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 17 Nov 2015 08:29:24 +1100
From: Dave Chinner <david@...morbit.com>
To: Jan Kara <jack@...e.com>
Cc: fstests@...r.kernel.org, linux-ext4@...r.kernel.org
Subject: Re: [PATCH 3/4] common: Add function for selecting from different
output files
On Wed, Nov 04, 2015 at 05:31:37PM +0100, Jan Kara wrote:
> Add function for selection of different output files. The idea is that
> in config file ($seq.cfg) there are several lines like:
>
> feat1,feat2: suffix
>
> The function is passed a feature string (or uses MOUNT_OPTIONS if no
> argument is passed) and selects output file with a suffix for which all
> features are present in the feature string. If there is no matching
> line, output with 'default' suffix is selected.
>
> Signed-off-by: Jan Kara <jack@...e.com>
Looks like a good idea, but probably needs to be integrated into
_link_out_file(), which already does platform based output file
linking...
> ---
> common/rc | 41 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/common/rc b/common/rc
> index adf1edf64d8d..543780c92c59 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -3142,6 +3142,47 @@ get_block_size()
> echo `stat -f -c %S $1`
> }
>
> +_select_output()
> +{
> + if [ $# -eq 0 ]; then
> + FEATURES=${MOUNT_OPTIONS##"-o "}
> + else
> + FEATURES=$1
> + fi
> +
> + export FEATURES
> + seqfull=$SRC_DIR/$seqnum
> + perl -e '
> + my %feathash;
> + my $feature, $result, $suffix, $opts;
> +
> + foreach $feature (split(/,/, $ENV{"FEATURES"})) {
> + $feathash{$feature} = 1;
> + }
> + $result = "default";
> + while (<>) {
> + my $found = 1;
> +
> + chomp;
> + ($opts, $suffix) = split(/ *: */);
> + foreach my $opt (split(/,/, $opts)) {
> + if (!exists($feathash{$opt})) {
> + $found = 0;
> + last;
> + }
> + }
> + if ($found == 1) {
> + $result = $suffix;
> + last;
> + }
> + }
> + print $result
> + ' <$seqfull.cfg | {
> + read SUFFIX
> + ln -fs $seq.out.$SUFFIX $seqfull.out
> + }
> +}
I'd much prefer the perl code simply returns the appropriately
matched suffix and then the shell code does the linking of the
output file. That way other things that the test harness is aware of
can also be taken into account.
Cheers,
Dave.
--
Dave Chinner
david@...morbit.com
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists