exp/template: silence test noise (but add a flag to put it back)
Also delete a TODO and clean up a little evaluation code.
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4643071
diff --git a/src/pkg/exp/template/exec.go b/src/pkg/exp/template/exec.go
index b8cfb54..6f171da 100644
--- a/src/pkg/exp/template/exec.go
+++ b/src/pkg/exp/template/exec.go
@@ -200,8 +200,7 @@
return s.evalFieldOrCall(data, n.ident, cmd.args, final)
}
if len(cmd.args) > 1 || final.IsValid() {
- // TODO: functions
- s.errorf("can't give argument to non-method %s", cmd.args[0])
+ s.errorf("can't give argument to non-function %s", cmd.args[0])
}
switch word := cmd.args[0].(type) {
case *dotNode:
@@ -224,9 +223,8 @@
}
case *stringNode:
return reflect.ValueOf(word.text)
- default:
- s.errorf("can't handle command %q", firstWord)
}
+ s.errorf("can't handle command %q", firstWord)
panic("not reached")
}
diff --git a/src/pkg/exp/template/parse_test.go b/src/pkg/exp/template/parse_test.go
index 70c9f5a..34b0da6 100644
--- a/src/pkg/exp/template/parse_test.go
+++ b/src/pkg/exp/template/parse_test.go
@@ -5,11 +5,12 @@
package template
import (
+ "flag"
"fmt"
"testing"
)
-const dumpErrors = true
+var debug = flag.Bool("debug", false, "show the errors produced by the tests")
type numberTest struct {
text string
@@ -193,7 +194,7 @@
continue
case err != nil && !test.ok:
// expected error, got one
- if dumpErrors {
+ if *debug {
fmt.Printf("%s: %s\n\t%s\n", test.name, test.input, err)
}
continue
diff --git a/src/pkg/exp/template/set_test.go b/src/pkg/exp/template/set_test.go
index 873d261..c0115ec 100644
--- a/src/pkg/exp/template/set_test.go
+++ b/src/pkg/exp/template/set_test.go
@@ -49,7 +49,7 @@
continue
case err != nil && !test.ok:
// expected error, got one
- if dumpErrors {
+ if *debug {
fmt.Printf("%s: %s\n\t%s\n", test.name, test.input, err)
}
continue