tag 578905 patch
thanks

On Fri, Apr 23, 2010 at 04:17:17PM +0300, Niko Tyni wrote:
> Package: libnet-dbus-perl
> Version: 0.33.6-1
> Severity: important
> User: debian-p...@lists.debian.org
> Usertags: perl-5.12-transition, perl-long-double
> 
> This package fails to build on amd64 with perl 5.12.0-1 from experimental:
> 
>  #   Failed test 'double'
>  #   at t/15-message.t line 67.
>  # Looks like you failed 1 test of 33.
>  t/15-message.t .................. 
>  Dubious, test returned 1 (wstat 256, 0x100)
>  Failed 1/33 subtests 
> 
> As the package built fine in my earlier tests with 5.12.0~rc3-1, the failure
> is almost certainly due to 5.12.0-1 being configured with -Duselongdouble.

Proposed patch attached, this builds fine for me on both 5.10.1-12 and 5.12.0-1
on amd64.
-- 
Niko Tyni   nt...@debian.org
>From 42ea359699fb47cbafd8a86c0d1e9281389b7df3 Mon Sep 17 00:00:00 2001
From: Niko Tyni <nt...@debian.org>
Date: Tue, 4 May 2010 11:14:17 +0300
Subject: [PATCH] Fix a test failure on perls built with -Duselongdouble

Replace the fragile floating point equality test with
an epsilon difference one.
---
 t/15-message.t |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/t/15-message.t b/t/15-message.t
index fc9a8fa..410e881 100644
--- a/t/15-message.t
+++ b/t/15-message.t
@@ -64,7 +64,7 @@ ok($iter->next(), "next");
 
 ok($iter->get_string() eq "Hello world", "string");
 ok($iter->next(), "next");
-ok($iter->get_double() == 1.424141, "double");
+ok(abs($iter->get_double() - 1.424141) < 5 * 10**-7, "double");
 
 ok($iter->next(), "next");
 is_deeply($iter->get_array(&Net::DBus::Binding::Message::TYPE_STRING), ["one", "two", "three"], "array");
-- 
1.7.1

Reply via email to