Published fragment Stubbing degenerate network conditions in Go with DialFunc and net.Conn, on using DialFunc to return a minimal stub for net.Conn that can simulate hard-to-reproduce conditions like an error on Close.
type connStub struct {
net.Conn
closeFunc func() error
}
func newConnStub(conn net.Conn) *connStub {
return &connStub{
Conn: conn,
closeFunc: conn.Close,
}
}
func (c *connStub) Close() error {
return c.closeFunc()
}