[PATCH V2] xfstests: don't remove trailing zeros from integers
Rich Johnston
rjohnston at sgi.com
Tue Mar 5 13:20:45 CST 2013
On 03/01/2013 02:30 PM, Dave Chinner wrote:
> On Fri, Mar 01, 2013 at 01:01:58PM -0500, Eric Whitney wrote:
>> _within_tolerance strips trailing zeros from the min and max range
>> values it outputs. This leads to damage if the min or max value is
>> an integer containing trailing zeros rather than a real number with
>> a fractional part containing trailing zeros. Xfstest 289 can exhibit
>> this problem when its input is out of range. Modify the code so it
>> will only remove trailing zeros found after a decimal point, and
>> remove decimal points not followed by digits.
>>
>> Signed-off-by: Eric Whitney <enwlinux at gmail.com>
>> ---
>> common.filter | 7 +++++--
>> 1 file changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/common.filter b/common.filter
>> index 9e4c90c..bfc800b 100644
>> --- a/common.filter
>> +++ b/common.filter
>> @@ -106,8 +106,11 @@ EOF
>>
>> # fix up min, max precision for output
>> # can vary for 5.3, 6.2
>> - _min=`echo $_min | sed -e 's/0*$//'` # get rid of trailling zeroes
>> - _max=`echo $_max | sed -e 's/0*$//'` # get rid of trailling zeroes
>> +
>> + # remove any trailing zeroes from min, max if they have fractional parts
>> + # and then remove any decimal points not followed by digits
>> + _min=`echo $_min | sed -e '/\./s/0*$//' | sed -e 's/\.$//'`
>> + _max=`echo $_max | sed -e '/\./s/0*$//' | sed -e 's/\.$//'`
I like Dave's suggestion to change it to the following, what do you
think Eric?
+ _min=`echo $_min | sed -e '/\./s/0*$//' -e 's/\.$//'` # get rid of
trailing zeros
+ _max=`echo $_max | sed -e '/\./s/0*$//' -e 's/\.$//'` # get rid of
trailing zeros
Regards
--Rich
>
> You can do this with a single sed invocation via multiple
> expressions:
>
> $ echo 200.00 | sed -e '/\./s/0*$//' -e 's/\.$//'
> 200
> $
>
> Cheers,
>
> Dave.
>
More information about the xfs
mailing list