[Top] [All Lists]

[PATCH V3] xfstests: don't remove trailing zeros from integers

To: xfs@xxxxxxxxxxx
Subject: [PATCH V3] xfstests: don't remove trailing zeros from integers
From: Eric Whitney <enwlinux@xxxxxxxxx>
Date: Tue, 5 Mar 2013 14:17:48 -0500
Cc: sandeen@xxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:date:from:to:cc:subject:message-id:mime-version :content-type:content-disposition:user-agent; bh=a3h5wodbU6o8zQeC3dV9ZLKcep8wsOU1cHJrFEbvUxc=; b=QMi7fRpamlviIIvIhcvBaF7aNdY5BDUryWdLSJPIqlusmfyzDuV3LHzh8TpNpcf2d5 SdL8cIG1SLfsiCjcVWPlQI1CiRaRIpGKLU0VNrhXly4R3xLPK/RI3BuCF2d9cnhLiDlL Ag+fgIO9nSDimZdXttOJTzLuec2fquqJBjK7V2PRVWkW9CtSf2MSe7a9vBZPsisQRPek 2oCL6LAsILwVJZTLxNjYT2Ee1PlhoO4IflVCPa08nH6VEzK5XQZZ07G8KQV5tVtEBo27 qvVKh1MoY4pxr/ncxy2NfwH6mWBVD8N4F3k7fRx9JsstJ9OG5fb9xbhCn5ZTdQLMUleQ Vo/w==
User-agent: Mutt/1.5.21 (2010-09-15)
_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.

V1->V2: Remove decimal points not followed by digits
V2->V3: Per Dave Chinner, simplify by using multiple sed expressions

Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx>
 common.filter |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/common.filter b/common.filter
index 9e4c90c..c854a98 100644
--- a/common.filter
+++ b/common.filter
@@ -106,8 +106,10 @@ 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
+  _min=`echo $_min | sed -e '/\./s/0*$//' -e 's/\.$//'`
+  _max=`echo $_max | sed -e '/\./s/0*$//' -e 's/\.$//'`
   if [ $_in_range -eq 1 ] 

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