From: Rob Pike Date: Thu, 14 Jul 2011 01:32:06 +0000 (+1000) Subject: exp/template: include function name in error returned by function or method call. X-Git-Tag: weekly.2011-07-19~68 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=dfffc7a5d5b9436ce5c1c59cda53d19393fa7041;p=gostls13.git exp/template: include function name in error returned by function or method call. R=golang-dev, rsc, r CC=golang-dev https://golang.org/cl/4711049 --- diff --git a/src/pkg/exp/template/exec.go b/src/pkg/exp/template/exec.go index a7af9b496b..6b0758045d 100644 --- a/src/pkg/exp/template/exec.go +++ b/src/pkg/exp/template/exec.go @@ -455,7 +455,7 @@ func (s *state) evalCall(dot, fun reflect.Value, name string, args []node, final result := fun.Call(argv) // If we have an os.Error that is not nil, stop execution and return that error to the caller. if len(result) == 2 && !result[1].IsNil() { - s.error(result[1].Interface().(os.Error)) + s.errorf("error calling %s: %s", name, result[1].Interface().(os.Error)) } return result[0] } diff --git a/src/pkg/exp/template/exec_test.go b/src/pkg/exp/template/exec_test.go index 7e0301c8d8..112adbf246 100644 --- a/src/pkg/exp/template/exec_test.go +++ b/src/pkg/exp/template/exec_test.go @@ -395,6 +395,9 @@ func TestExecuteError(t *testing.T) { if err == nil { t.Errorf("expected error; got none") } else if !strings.Contains(err.String(), os.EPERM.String()) { + if *debug { + fmt.Printf("test execute error: %s\n", err) + } t.Errorf("expected os.EPERM; got %s", err) } }