Revision history for Data-Handle
0.01011501 2010-12-20 02:15:59 Pacific/Auckland
The method we were borrowing out of Carp wasn't there in old versions,
so we've added a bit of magic to try get it from older carps too, so we don't fail
on <= 5.10.1 :(
Changes | 11 +++++++++++
lib/Data/Handle/Exception.pm | 17 +++++++++++++----
2 files changed, 24 insertions(+), 4 deletions(-)
0.01011500 2010-12-20 01:36:06 Pacific/Auckland
More tests to improve general function coverage
generate_exception is gone, depercated. Replace:
generate_exception($class , $message)->throw()
with
_gen_tree($full_class)->throw( $message )
Coverage testing detected a missing exception class, fixed in this release.
All tied() methods now tested to some degree to work.
Changes | 23 ++++
lib/Data/Handle/Exception.pm | 40 +------
t/02_example.t | 23 ++++
t/03_mess_with_seek.t | 28 ++++
t/04_things_that_fail.t | 300 ++++++++++++++++++++++++++++++++++++++++++
5 files changed, 376 insertions(+), 38 deletions(-)
0.01011421 2010-12-19 22:52:17 Pacific/Auckland
Reworked the Exception code to be cleaner at the cost of a slight
initialisatin cost.
Reworked code bodies to unify seek/tell calls as _restore_pos and _set_pos.
Added _fh so internal code is less confusing.
Extended tests to cover more scenarios.
Added contributed suggestions as "alternative_techinques" with demonstrations how they
*( so far ) don't work. If people can get them to work (on all perls), that'd be great!.
( Seems there are many weird fdup bugs in perl )
Stolen the backtrace code from Carp a bit and augmented it, now produce useful backtraces.
Have some nice code in our exception stringification that highlights lines with colours based on
how much we think they're related to the problem.
Stuff thats part of DH ( the place the error was detected ) is highlighted green as we think it
will be usefull in diagnosis, but its not the source of the problem.
Stuff that we know is likely to be infrastructural and not likely to be part of the problem
( ie: code like Try::Tiny and Test::Fatal ) are highlighted yellow because we doubt its useful.
Everything else is left white, and you should look for the problem there first.
Changes | 40 +++++
lib/Data/Handle.pm | 151 +++++++------------
lib/Data/Handle/Exception.pm | 165 +++++++++++++++++----
perlcritic.rc | 2 +-
t/01_lowlevel.t | 25 +++
t/02_example.t | 4 +-
t/alternative_techniques/03_fdup_test.t | 56 +++++++
t/alternative_techniques/03_fdup_test_cowns.t | 54 +++++++
t/alternative_techniques/03_fdup_test_cowns.t_out | 42 ++++++
t/alternative_techniques/04_fopen.t | 27 ++++
t/alternative_techniques/05_new_from_fd.t | 27 ++++
11 files changed, 470 insertions(+), 123 deletions(-)
0.01011322 2010-12-18 23:14:03 Pacific/Auckland
First version.