]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
xfstests: don't remove trailing zeros from integers
authorEric Whitney <enwlinux@gmail.com>
Tue, 5 Mar 2013 19:17:48 +0000 (19:17 +0000)
committerRich Johnston <rjohnston@sgi.com>
Tue, 5 Mar 2013 19:41:55 +0000 (13:41 -0600)
_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@gmail.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
common.filter

index 9e4c90c56cb7e30a540a1ceb829c0f109791b704..c854a98cb11f54b4dd0a9f25e4859d5a42896c1f 100644 (file)
@@ -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 ] 
   then