Skip Menu |

This queue is for tickets about the Data-Dump-Streamer CPAN distribution.

Report information
The Basics
Id: 88173
Status: resolved
Priority: 0/
Queue: Data-Dump-Streamer

People
Owner: Nobody in particular
Requestors: zefram [...] fysh.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 2.37



Subject: pad fail if not using PadWalker
Date: Tue, 27 Aug 2013 11:44:06 +0100
To: bug-Data-Dump-Streamer [...] rt.cpan.org
From: Zefram <zefram [...] fysh.org>
In DDS 2.36, one of the pad tests fails for me if PadWalker is not installed. The code "$svo->PADLIST->ARRAY" in _get_lexicals() fails, due to ->PADLIST returning something unexpected. If PadWalker is installed, that code doesn't run, and the other implementation of _get_lexicals() works fine. $ ./Build prereq_report recommends: Module Need Have ------------------+--------+---------- Algorithm::Diff 0 1.1902 Compress::Zlib 0 2.062 JSON::XS 0 2.34 MIME::Base64 0 3.14 ! PadWalker 0.99 <none> configure_requires: Module Need Have --------------------+---------+---------- ExtUtils::Depends 0 0.304 Module::Build 0 0.4003 perl 5.006 5.18.0 requires: Module Need Have ---------------------+--------+---------- B 0 1.42 B::Deparse 0 1.20 B::Utils 0 0.21 Data::Dumper 0 2.145 DynaLoader 0 1.18 Exporter 0 5.68 Hash::Util 0 0.16 IO::File 0 1.16 overload 0 1.22 re 0 0.23 strict 0 1.07 Symbol 0 1.07 Text::Abbrev 0 1.02 Text::Balanced 0 2.02 vars 0 1.03 warnings 0 1.18 warnings::register 0 1.02 build_requires: Module Need Have ---------------------+--------+---------- B::Deparse 0 1.20 base 0 2.18 Carp 0 1.29 Config 0 5.018000 Data::Dumper 0 2.145 Devel::Peek 0 1.11 ExtUtils::CBuilder 0 0.280210 overload 0 1.22 re 0 0.23 strict 0 1.07 Symbol 0 1.07 Test::More 0 0.98 Text::Abbrev 0 1.02 utf8 0 1.10 vars 0 1.03 warnings 0 1.18 $ ./Build test t/as.t .............. ok t/blessed.t ......... ok t/dogpound.t ........ ok t/dump.t ............ ok t/filter.t .......... ok t/globtest.t ........ ok t/hardrefs.t ........ ok t/impure_madness.t .. ok t/lexicals.t ........ # # PadWalker isn't installed t/lexicals.t ........ 1/14 # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "ARRAY" via package "B::NULL" at /opt/perl-5.18.0/cpan/build/Data-Dump-Streamer-2.36-40x30i/blib/lib/Data/Dump/Streamer.pm line 3701. # Failed test 'Unimplemented code' # at t/test_helper.pl line 527. # Looks like you failed 1 test of 14. t/lexicals.t ........ Dubious, test returned 1 (wstat 256, 0x100) Failed 1/14 subtests t/locked.t .......... ok t/madness.t ......... ok t/madness_json.t .... ok t/madness_w.t ....... ok t/names.t ........... ok t/overload.t ........ ok t/readonly.t ........ ok t/refaddr.t ......... ok t/refcount.t ........ ok t/refelem.t ......... ok t/reftype.t ......... ok t/sortkeys.t ........ ok t/tree.t ............ ok t/usage.t ........... ok t/xs_subs.t ......... ok Test Summary Report ------------------- t/lexicals.t (Wstat: 256 Tests: 14 Failed: 1) Failed test: 7 Non-zero exit status: 1 Files=24, Tests=369, 3 wallclock secs ( 0.10 usr 0.02 sys + 2.11 cusr 0.18 csys = 2.41 CPU) Result: FAIL Failed 1/24 test programs. 1/369 subtests failed. $ I suggest that the test suite should run the tests that are affected by $HasPadWalker twice, one of them with PadWalker artificially disabled, so that the ability to run without PadWalker will actually be tested. Or alternatively, make PadWalker a hard dependency, and drop the !$HasPadWalker code paths. -zefram
On 2013-08-27 06:44:23, zefram@fysh.org wrote: Show quoted text
> In DDS 2.36, one of the pad tests fails for me if PadWalker is not > installed. The code "$svo->PADLIST->ARRAY" in _get_lexicals() fails, > due > to ->PADLIST returning something unexpected. If PadWalker is > installed, > that code doesn't run, and the other implementation of _get_lexicals() > works fine. >
[...] Show quoted text
> > I suggest that the test suite should run the tests that are affected > by > $HasPadWalker twice, one of them with PadWalker artificially disabled, > so that the ability to run without PadWalker will actually be tested. > Or alternatively, make PadWalker a hard dependency, and drop the > !$HasPadWalker code paths.
There's already a patch for this problem in https://rt.cpan.org/Ticket/Display.html?id=79127 Regards, Slaven
On 2013-08-27 06:44:23, zefram@fysh.org wrote: Show quoted text
> In DDS 2.36, one of the pad tests fails for me if PadWalker is not > installed. The code "$svo->PADLIST->ARRAY" in _get_lexicals() fails, > due > to ->PADLIST returning something unexpected. If PadWalker is > installed, > that code doesn't run, and the other implementation of _get_lexicals() > works fine.
[...] This should be fixed in the latest release, ticket probably can be closed. Regards, Slaven