* [PATCH] xfstests: don't remove trailing zeros from integers
@ 2013-03-01 0:26 Eric Whitney
2013-03-01 3:03 ` Eric Sandeen
0 siblings, 1 reply; 4+ messages in thread
From: Eric Whitney @ 2013-03-01 0:26 UTC (permalink / raw)
To: xfs; +Cc: sandeen
_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.
Signed-off-by: Eric Whitney <enwlinux@gmail.com>
---
common.filter | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/common.filter b/common.filter
index 9e4c90c..1df2f97 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*$//'`
+ _max=`echo $_max | sed -e '/\./s/0*$//'`
if [ $_in_range -eq 1 ]
then
--
1.7.10.4
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] xfstests: don't remove trailing zeros from integers
2013-03-01 0:26 [PATCH] xfstests: don't remove trailing zeros from integers Eric Whitney
@ 2013-03-01 3:03 ` Eric Sandeen
2013-03-01 4:13 ` Eric Whitney
0 siblings, 1 reply; 4+ messages in thread
From: Eric Sandeen @ 2013-03-01 3:03 UTC (permalink / raw)
To: Eric Whitney; +Cc: xfs
On 2/28/13 6:26 PM, 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.
whoops, that's not too good.
It's only for the output message in a failure case though, correct?
But it makes the error output unhelpful.
Seems a little weird that it still leaves the trailing decimal:
$ echo 20000.00 | sed -e '/\./s/0*$//'
20000.
but that's not a big deal. The patch makes it better and
the output is understandable even if it has a trailing
decimal (which it had before anyway) so:
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
> Signed-off-by: Eric Whitney <enwlinux@gmail.com>
> ---
> common.filter | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/common.filter b/common.filter
> index 9e4c90c..1df2f97 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*$//'`
> + _max=`echo $_max | sed -e '/\./s/0*$//'`
>
> if [ $_in_range -eq 1 ]
> then
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] xfstests: don't remove trailing zeros from integers
2013-03-01 3:03 ` Eric Sandeen
@ 2013-03-01 4:13 ` Eric Whitney
2013-03-01 17:36 ` Eric Whitney
0 siblings, 1 reply; 4+ messages in thread
From: Eric Whitney @ 2013-03-01 4:13 UTC (permalink / raw)
To: Eric Sandeen; +Cc: xfs, Eric Whitney
* Eric Sandeen <sandeen@redhat.com>:
> On 2/28/13 6:26 PM, 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.
>
> whoops, that's not too good.
>
> It's only for the output message in a failure case though, correct?
> But it makes the error output unhelpful.
Right on both counts. We'd noticed the error output was confusing a few
months ago when you fixed an ext4 free space reporting problem (this is an
IOU) - 1280000 reported as 128 in that case.
>
> Seems a little weird that it still leaves the trailing decimal:
>
> $ echo 20000.00 | sed -e '/\./s/0*$//'
> 20000.
>
> but that's not a big deal. The patch makes it better and
> the output is understandable even if it has a trailing
> decimal (which it had before anyway) so:
>
> Reviewed-by: Eric Sandeen <sandeen@redhat.com>
I'd reached the same conclusion, but if preferred I'll take this farther
and eliminate the trailing decimal.
Thanks for the review!
Eric
>
> > Signed-off-by: Eric Whitney <enwlinux@gmail.com>
> > ---
> > common.filter | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/common.filter b/common.filter
> > index 9e4c90c..1df2f97 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*$//'`
> > + _max=`echo $_max | sed -e '/\./s/0*$//'`
> >
> > if [ $_in_range -eq 1 ]
> > then
> >
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] xfstests: don't remove trailing zeros from integers
2013-03-01 4:13 ` Eric Whitney
@ 2013-03-01 17:36 ` Eric Whitney
0 siblings, 0 replies; 4+ messages in thread
From: Eric Whitney @ 2013-03-01 17:36 UTC (permalink / raw)
To: Eric Whitney; +Cc: Eric Sandeen, xfs
* Eric Whitney <enwlinux@gmail.com>:
> * Eric Sandeen <sandeen@redhat.com>:
> > On 2/28/13 6:26 PM, 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.
> >
> > whoops, that's not too good.
> >
> > It's only for the output message in a failure case though, correct?
> > But it makes the error output unhelpful.
>
> Right on both counts. We'd noticed the error output was confusing a few
> months ago when you fixed an ext4 free space reporting problem (this is an
> IOU) - 1280000 reported as 128 in that case.
>
> >
> > Seems a little weird that it still leaves the trailing decimal:
> >
> > $ echo 20000.00 | sed -e '/\./s/0*$//'
> > 20000.
> >
> > but that's not a big deal. The patch makes it better and
> > the output is understandable even if it has a trailing
> > decimal (which it had before anyway) so:
> >
> > Reviewed-by: Eric Sandeen <sandeen@redhat.com>
>
> I'd reached the same conclusion, but if preferred I'll take this farther
> and eliminate the trailing decimal.
>
On further consideration, it's easy enough to clean up the trailing decimal
and it's just better that way, even for an error case. There's at least one
fix that isn't elegant but works. I'll send along a V2 shortly.
Regards,
Eric
> Thanks for the review!
>
> Eric
>
> >
> > > Signed-off-by: Eric Whitney <enwlinux@gmail.com>
> > > ---
> > > common.filter | 6 ++++--
> > > 1 file changed, 4 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/common.filter b/common.filter
> > > index 9e4c90c..1df2f97 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*$//'`
> > > + _max=`echo $_max | sed -e '/\./s/0*$//'`
> > >
> > > if [ $_in_range -eq 1 ]
> > > then
> > >
> >
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-03-01 17:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-01 0:26 [PATCH] xfstests: don't remove trailing zeros from integers Eric Whitney
2013-03-01 3:03 ` Eric Sandeen
2013-03-01 4:13 ` Eric Whitney
2013-03-01 17:36 ` Eric Whitney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox