func (r panicReader) Read(p []byte) (int, error) {
if r.panic {
- panic(nil)
+ panic("oops")
}
return 0, io.EOF
}
}
continue
}
- if err == nil && tt.fail {
+ if tt.fail {
t.Errorf("%d: unexpected success", i)
continue
}
}
continue
}
- if err == nil || err == io.EOF {
- t.Errorf("parse %s: have no error, expected a non-nil error", test.src)
+ // Inv: err != nil
+ if err == io.EOF {
+ t.Errorf("parse %s: unexpected EOF", test.src)
continue
}
if !strings.Contains(err.Error(), test.err) {
t.Logf("SetWriteDeadline(+%v)", d)
t0 := time.Now()
deadline := t0.Add(d)
- if err = c.SetWriteDeadline(deadline); err != nil {
+ if err := c.SetWriteDeadline(deadline); err != nil {
t.Fatalf("SetWriteDeadline(%v): %v", deadline, err)
}
var n int64
+ var err error
for {
var dn int
dn, err = c.Write([]byte("TIMEOUT TRANSMITTER"))
}
}
t1 := time.Now()
-
- if err == nil || !err.(Error).Timeout() {
+ // Inv: err != nil
+ if !err.(Error).Timeout() {
t.Fatalf("Write did not return (any, timeout): (%d, %v)", n, err)
}
if perr := parseWriteError(err); perr != nil {
t.Logf("SetWriteDeadline(+%v)", d)
t0 := time.Now()
deadline := t0.Add(d)
- if err = w.SetWriteDeadline(deadline); err != nil {
+ if err := w.SetWriteDeadline(deadline); err != nil {
t.Fatalf("SetWriteDeadline(%v): %v", deadline, err)
}
var n int64
+ var err error
for {
var dn int
dn, err = w.Write([]byte("TIMEOUT TRANSMITTER"))
}
}
t1 := time.Now()
-
- if err == nil || !isDeadlineExceeded(err) {
+ // Inv: err != nil
+ if !isDeadlineExceeded(err) {
t.Fatalf("Write did not return (any, timeout): (%d, %v)", n, err)
}
if recovered != nil {
// Propagate the previously recovered result, by panicking.
panic(recovered)
- }
- if !finished && recovered == nil {
+ } else if !finished {
panic(errNilPanicOrGoexit)
}