On 31 Jan 2007, at 16:42, Joshua ben Jore wrote:
[snip]
   dies_ok { $o->annoying_corner_case } 'exception thrown';

do the SIG{__DIE__} dance make the tester write

   dies_ok { $o->annoying_corner_case; 1 } 'exception thrown';

If the SIG{__DIE__} dance happens entirely in T::E (as I suggested in
my patch) then the user's tests do not require any change. I thought
it'd be good to test all three things: that eval returned something
other than undef, that $@ is empty, and SIG{__DIE__} wasn't called.

The thing is that, at the moment, the various T::E subs all try quite hard to pretend to be eval. I see this as a good thing since it's a good match to the exception tracking code people will write in the rest of their application. Adding the {__DIE__} dance moves away from that which makes me nervous for reasons I've not entirely worked out.

I does need dealing with somehow though - and it is on my list :)

Adrian

Reply via email to