]> Cypherpunks repositories - gostls13.git/commitdiff
testing: fix timing format inconsistency
authorRobert Dinu <r@varp.se>
Wed, 18 Jun 2014 17:59:25 +0000 (10:59 -0700)
committerRob Pike <r@golang.org>
Wed, 18 Jun 2014 17:59:25 +0000 (10:59 -0700)
Fixes #8175.

LGTM=r
R=golang-codereviews, r, gobot
CC=golang-codereviews
https://golang.org/cl/103320043

src/pkg/testing/example.go
src/pkg/testing/testing.go

index 828c2d3eda809e1fc940e36e35c5944857592fb6..f5762e4db4ab4278790861481951da4a5c20e9d3 100644 (file)
@@ -71,7 +71,7 @@ func runExample(eg InternalExample) (ok bool) {
 
        // Clean up in a deferred call so we can recover if the example panics.
        defer func() {
-               d := time.Now().Sub(start)
+               dstr := fmtDuration(time.Now().Sub(start))
 
                // Close pipe, restore stdout, get output.
                w.Close()
@@ -84,10 +84,10 @@ func runExample(eg InternalExample) (ok bool) {
                        fail = fmt.Sprintf("got:\n%s\nwant:\n%s\n", g, e)
                }
                if fail != "" || err != nil {
-                       fmt.Printf("--- FAIL: %s (%v)\n%s", eg.Name, d, fail)
+                       fmt.Printf("--- FAIL: %s (%s)\n%s", eg.Name, dstr, fail)
                        ok = false
                } else if *chatty {
-                       fmt.Printf("--- PASS: %s (%v)\n", eg.Name, d)
+                       fmt.Printf("--- PASS: %s (%s)\n", eg.Name, dstr)
                }
                if err != nil {
                        panic(err)
index 8078ba7cc03b2a93b08d9203e96afb1043176486..731762cb1db7d0632c6096ba00ba37ab01500c42 100644 (file)
@@ -223,6 +223,11 @@ func decorate(s string) string {
        return buf.String()
 }
 
+// fmtDuration returns a string representing d in the form "87.00s".
+func fmtDuration(d time.Duration) string {
+       return fmt.Sprintf("%.2fs", d.Seconds())
+}
+
 // TB is the interface common to T and B.
 type TB interface {
        Error(args ...interface{})
@@ -446,15 +451,15 @@ func Main(matchString func(pat, str string) (bool, error), tests []InternalTest,
 }
 
 func (t *T) report() {
-       tstr := fmt.Sprintf("(%.2f seconds)", t.duration.Seconds())
-       format := "--- %s: %s %s\n%s"
+       dstr := fmtDuration(t.duration)
+       format := "--- %s: %s (%s)\n%s"
        if t.Failed() {
-               fmt.Printf(format, "FAIL", t.name, tstr, t.output)
+               fmt.Printf(format, "FAIL", t.name, dstr, t.output)
        } else if *chatty {
                if t.Skipped() {
-                       fmt.Printf(format, "SKIP", t.name, tstr, t.output)
+                       fmt.Printf(format, "SKIP", t.name, dstr, t.output)
                } else {
-                       fmt.Printf(format, "PASS", t.name, tstr, t.output)
+                       fmt.Printf(format, "PASS", t.name, dstr, t.output)
                }
        }
 }