Skip Menu |

This queue is for tickets about the Tangence CPAN distribution.

Report information
The Basics
Id: 112978
Status: resolved
Priority: 0/
Queue: Tangence

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.21
Fixed in: 0.22



Subject: Tests fail with perls without unpack("Q") support
Some of my smoker systems report the following failure: Invalid type 'Q' in unpack at /var/tmp/cpan-build/2016031309/Tangence-0.21-IB7sBD/blib/lib/Tangence/Type/Primitive.pm line 185. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 255 just after 106. t/10message.t .......... Dubious, test returned 255 (wstat 65280, 0xff00) All 106 subtests passed There are also red spots on the CPAN Testers matrix: http://matrix.cpantesters.org/?dist=Tangence%200.21
On Sun Mar 13 05:22:51 2016, SREZIC wrote: Show quoted text
> Some of my smoker systems report the following failure: > > Invalid type 'Q' in unpack at /var/tmp/cpan-build/2016031309/Tangence- > 0.21-IB7sBD/blib/lib/Tangence/Type/Primitive.pm line 185. > # Tests were run but no plan was declared and done_testing() was not > seen. > # Looks like your test exited with 255 just after 106. > t/10message.t .......... > Dubious, test returned 255 (wstat 65280, 0xff00) > All 106 subtests passed
Hmm. I'm curious. pack's "Q" format was added in 5.10, but this version dependency is already declared in Build.PL: 'perl' => 5.010, So any perl that can get that far should already support it. -- Paul Evans
On 2016-03-14 11:08:26, PEVANS wrote: Show quoted text
> On Sun Mar 13 05:22:51 2016, SREZIC wrote:
> > Some of my smoker systems report the following failure: > > > > Invalid type 'Q' in unpack at /var/tmp/cpan- > > build/2016031309/Tangence- > > 0.21-IB7sBD/blib/lib/Tangence/Type/Primitive.pm line 185. > > # Tests were run but no plan was declared and done_testing() was not > > seen. > > # Looks like your test exited with 255 just after 106. > > t/10message.t .......... > > Dubious, test returned 255 (wstat 65280, 0xff00) > > All 106 subtests passed
> > Hmm. I'm curious. > > pack's "Q" format was added in 5.10,
"perldoc -f pack" says: (Quads are available only if your system supports 64-bit integer values _and_ if Perl has been compiled to support those. Raises an exception otherwise.) Show quoted text
> but this version dependency is > already declared in Build.PL: > > 'perl' => 5.010, > > So any perl that can get that far should already support it.
On Sat Jul 30 02:49:12 2016, SREZIC wrote: Show quoted text
> "perldoc -f pack" says: > > (Quads are available only if your system supports 64-bit > integer values _and_ if Perl has been compiled to support > those. Raises an exception otherwise.)
Ahyes. This particular use-case is now fixed. The general problem of u64 and s64 types still remains, but at least the unit tests don't now exercise that one. -- Paul Evans
Subject: rt112978.patch
=== modified file 'lib/Tangence/Type/Primitive.pm' --- lib/Tangence/Type/Primitive.pm 2016-11-16 01:50:12 +0000 +++ lib/Tangence/Type/Primitive.pm 2016-11-16 16:17:02 +0000 @@ -182,7 +182,7 @@ my $float64BIN = pack "d>", $value; # float64 == 1 / 11 / 52 - my $exp64 = ( unpack "Q>", $float64BIN & "\x7f\xf0\x00\x00\x00\x00\x00\x00" ) >> 52; + my $exp64 = ( unpack "L>", $float64BIN & "\x7f\xf0\x00\x00" ) >> (52-32); # Zero is smallest return DATANUM_FLOAT16 if $exp64 == 0;
Fixed in 0.22 -- Paul Evans