I have svn commit access but no idea how to use it prooperly so
attached is a 5 line patch to Test::Builder to make it say things like

1..2
not ok 1
#   Failed test in stack.t at line 4.
#   Called from stack.t at line 8.
not ok 2 - wibble
#   Failed test 'wibble'
#   in stack.t at line 5.
#   Called from stack.t at line 8.
# Looks like you failed 2 tests of 2.

where stack.t is

use Test::More tests => 2;

sub f {
 fail();
 fail("wibble");
}

f()

F
Index: lib/Test/Builder.pm
===================================================================
--- lib/Test/Builder.pm	(revision 3740)
+++ lib/Test/Builder.pm	(working copy)
@@ -456,6 +456,11 @@
 	else {
 	    $self->diag(qq[  $msg test in $file at line $line.\n]);
 	}
+	my $frame = 1;
+	while (my ($pack, $file, $line) = $self->caller($frame)) {
+	    $self->diag(qq[  Called from $file at line $line.\n]);
+	    $frame++;
+	}
     } 
 
     return $test ? 1 : 0;

Reply via email to