Skip Menu |

This queue is for tickets about the Net-Async-Tangence CPAN distribution.

Report information
The Basics
Id: 119750
Status: resolved
Priority: 0/
Queue: Net-Async-Tangence

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

Bug Information
Severity: (no value)
Broken in: 0.13
Fixed in: 0.14



Subject: Cannot use Tangence::Property::Instance as an ARRAY reference
Some of my smokers show the following failure: ... Cannot use Tangence::Property::Instance as an ARRAY reference at /home/cpansand/.cpan/build/2017010709/Devel-Cycle-1.12-mvVeYC/blib/lib/Devel/Cycle.pm line 136. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 255 just after 15. t/02server.t ...... Dubious, test returned 255 (wstat 65280, 0xff00) All 15 subtests passed ... This seems to happen if Tangence-0.22 is installed, but not with older Tangence versions.
On Sat Jan 07 05:37:16 2017, SREZIC wrote: Show quoted text
> This seems to happen if Tangence-0.22 is installed, but not with older > Tangence versions.
Yes; since Tangence 0.22, T:P:I is a Struct::Dumb instance. Such instances will forbid ARRAY access overloading. This will break Devel::Cycle. I suspect the best way out of it might be a local hack in the test file. -- Paul Evans
Fixed -- Paul Evans
Subject: rt119750.patch
=== modified file 't/02server.t' --- t/02server.t 2014-07-17 23:50:32 +0000 +++ t/02server.t 2017-01-08 00:35:34 +0000 @@ -111,11 +111,16 @@ is_oneref( $server, '$server has refcount 1 before shutdown' ); -memory_cycle_ok( $obj, '$obj has no memory cycles' ); -memory_cycle_ok( $registry, '$registry has no memory cycles' ); -# Can't easily do $server yet because Devel::Cycle will throw -# Unhandled type: GLOB at /usr/share/perl5/Devel/Cycle.pm line 107. -# on account of filehandles +{ + no warnings 'redefine'; + local *Tangence::Property::Instance::_forbid_arrayification = sub {}; + + memory_cycle_ok( $obj, '$obj has no memory cycles' ); + memory_cycle_ok( $registry, '$registry has no memory cycles' ); + # Can't easily do $server yet because Devel::Cycle will throw + # Unhandled type: GLOB at /usr/share/perl5/Devel/Cycle.pm line 107. + # on account of filehandles +} $conn->close; undef $server; === modified file 't/04xlink.t' --- t/04xlink.t 2015-06-14 12:31:20 +0000 +++ t/04xlink.t 2017-01-08 00:35:34 +0000 @@ -61,14 +61,19 @@ # That'll do; everything should be tested by Tangence itself -memory_cycle_ok( $obj, '$obj has no memory cycles' ); -memory_cycle_ok( $registry, '$registry has no memory cycles' ); -memory_cycle_ok( $objproxy, '$objproxy has no memory cycles' ); - -# Deconfigure the connection otherwise Devel::Cycle will throw -# Unhandled type: GLOB at /usr/share/perl5/Devel/Cycle.pm line 107. -# on account of filehandles -$client->configure( handle => undef ); -memory_cycle_ok( $client, '$client has no memory cycles' ); +{ + no warnings 'redefine'; + local *Tangence::Property::Instance::_forbid_arrayification = sub {}; + + memory_cycle_ok( $obj, '$obj has no memory cycles' ); + memory_cycle_ok( $registry, '$registry has no memory cycles' ); + memory_cycle_ok( $objproxy, '$objproxy has no memory cycles' ); + + # Deconfigure the connection otherwise Devel::Cycle will throw + # Unhandled type: GLOB at /usr/share/perl5/Devel/Cycle.pm line 107. + # on account of filehandles + $client->configure( handle => undef ); + memory_cycle_ok( $client, '$client has no memory cycles' ); +} done_testing;
Was fixed in 0.14 -- Paul Evans