// 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()
                        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)
 
        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{})
 }
 
 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)
                }
        }
 }