Bug#655710: libdevel-ebug-perl: Failing tests t/finished.t

Jonathan Yu jawnsy at cpan.org
Sat Feb 4 00:57:20 UTC 2012


I've been investigating this today, and it appears that the debugger is now
faulty (I am still not sure whether it is related to the bug report filed
regarding the changes in YAML).

Running the yaml.pl script manually (turning on warnings for good measure),
we get the following output:

> perl -w yaml.pl
---
'/foo/foo- hate': bz
---
'/foo/foo- hate': bz

If we comment out this (the fourth) line in yaml.pl

#print YAML::Dump (YAML::Load (YAML::Dump ($hash)));

we get only one output:

---
'/foo/foo- hate': bz

So, obviously all four lines are being correctly executed when running
yaml.pl directly.

If we un-comment that line (return it back to its original state) and run
the test by executing the debugger manually:

(sid)root at aven:/tmp/libdevel-ebug-perl# perl bin/ebug --backend "perl
bin/ebug_backend_perl" t/yaml.pl
* Welcome to Devel::ebug 0.52
main(t/yaml.pl#3):
my $hash = { '/foo/foo- hate' => 'bz' };
ebug: n
main(t/yaml.pl#4):
print YAML::Dump ($hash);
ebug: n
ebug: Program finished. Enter 'restart' or 'q'

The program finishes and the debugger does not show that it has executed
the last line in yaml.pl. Thus, the test fails - since we expected another
line to be executed (the YAML Dump/Load/Dump operation).

It is difficult to isolate the cause of this, though that B::Deparse bug
seems promising. I have not done enough spelunking into the internals of
Devel::ebug to say.

Of course, perl's built-in debugger does not seem to suffer from this
problem:

> perl -d -w t/yaml.pl

Loading DB routines from perl5db.pl version 1.33
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(t/yaml.pl:3):    my $hash = { '/foo/foo- hate' => 'bz' };
  DB<1> n
main::(t/yaml.pl:4):    print YAML::Dump ($hash);
  DB<1> n
---
'/foo/foo- hate': bz
main::(t/yaml.pl:5):    print YAML::Dump (YAML::Load (YAML::Dump ($hash)));
  DB<1> n
---
'/foo/foo- hate': bz
Debugged program terminated.  Use q to quit or R to restart,
  use o inhibit_exit to avoid stopping after program termination,
  h q, h R or h o to get additional info.
  DB<1>

I don't believe anything there has changed, so I am not sure why
Devel::ebug is broken.

Cheers,

Jonathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20120203/fb711daa/attachment.html>


More information about the pkg-perl-maintainers mailing list