Chris Dolan wrote: > On Mar 28, 2007, at 8:18 AM, Ovid wrote: > >> The second test dies but this is ignored. Change My::Test::More to >> Test::More and the failure is correctly reported. What did I miss in >> My::Test::More? > > If you add a "print $SIG{__DIE__}" before the first "ok", you'll see > that with Test::More it's a coderef, but not with My::Test::More. My > wild guess is that something in Exporter::Heavy up in My::Test::More's > ISA chain is blowing away the __DIE__ handler after it gets set in > Test::Builder.
Oh, I see what it is. Funny, I just fixed this exact problem in aliased.pm. http://rt.cpan.org/Public/Bug/Display.html?id=25293 Its base.pm. local $SIG{__DIE__}; eval "require $base"; Test::Builder::Module is loaded which loads Test::Builder which instantiates a __DIE__ handler which is localized and thrown out.