xfs
[Top] [All Lists]

Re: [PATCH 2/5] xfstests: use value of FSTYP if defined externally

To: dsterba@xxxxxxx, xfs@xxxxxxxxxxx
Subject: Re: [PATCH 2/5] xfstests: use value of FSTYP if defined externally
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Tue, 21 Jan 2014 09:22:54 +1100
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20140120181901.GZ6498@xxxxxxx>
References: <cover.1389891730.git.dsterba@xxxxxxx> <efafb76f725148435b09a22c62c92a63eedb9b71.1389891730.git.dsterba@xxxxxxx> <20140120021345.GG18112@dastard> <20140120181901.GZ6498@xxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Mon, Jan 20, 2014 at 07:19:01PM +0100, David Sterba wrote:
> On Mon, Jan 20, 2014 at 01:13:45PM +1100, Dave Chinner wrote:
> > On Thu, Jan 16, 2014 at 06:07:12PM +0100, David Sterba wrote:
> > > --- a/check
> > > +++ b/check
> > > @@ -33,7 +33,7 @@ showme=false
> > >  have_test_arg=false
> > >  randomize=false
> > >  here=`pwd`
> > > -FSTYP=xfs
> > > +FSTYP=${FSTYP:-xfs}
> > 
> > ":-xfs" means assign the value of $xfs if $FTYPE is null. xfs is not
> > a variable....
> 
> Docs say that
> 
>   ${parameter:-word}
>   If parameter is unset or null, the expansion of word is substituted.
>   Otherwise, the value of parameter is substituted.
> 
> so 'xfs' will expand to itself.  And I did test this one with:
> 
> $ cat default.sh << EOF
> FSTYP=${FSTYP:-xfs}
> echo $FSTYP
> EOF
> 
> $ cat external.sh << EOF
> FSTYP=btrfs
> source default.sh
> EOF
> 
> $ sh default.sh
> xfs
> 
> $ sh external.sh
> btrfs

Funny, I did the same tests to check and kept getting no output
instead of the "xfs" result. Changing it to := made it work just
fine. Oh well... :/

> > > -# Autodetect fs type based on what's on $TEST_DEV
> > > -if [ "$HOSTOS" == "Linux" ]; then
> > > +# Autodetect fs type based on what's on $TEST_DEV unless it's been set
> > > +# externally
> > > +if [ -z "$FSTYP" -a "$HOSTOS" == "Linux" ]; then
> > 
> > If the default value expansion is fixed, FSTYP will always have a
> > value here Hence it will never, ever probe.
> 
> > >      FSTYP=`blkid -c /dev/null -s TYPE -o value $TEST_DEV`
> > >  fi
> > >  export FSTYP
> > 
> > I suspect what you want is:
> > 
> > -FSTYP=xfs
> > 
> > .....
> > 
> > if [ -z "$FSTYP" -a "$HOSTOS" == "Linux" ]; then
> >      FSTYP=`blkid -c /dev/null -s TYPE -o value $TEST_DEV`
> > fi
> > FSTYP=${FSTYP:=xfs}
> > export FSTYP
> 
> Right, the default assignment has to be last. I'll use the := form
> to be consistent with what's used in the file, though :- works here as
> well, just does not assign the variable within the ${...} expression.
> The result is the same.

Thanks.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>