forked from mirror/redis
fix ut: pool with badconn
This commit is contained in:
parent
78875ecee7
commit
6e0ed33250
28
main_test.go
28
main_test.go
|
@ -12,10 +12,10 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/go-redis/redis/v8"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
||||
"github.com/go-redis/redis/v8"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -117,7 +117,7 @@ func TestGinkgoSuite(t *testing.T) {
|
|||
RunSpecs(t, "go-redis")
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
func redisOptions() *redis.Options {
|
||||
return &redis.Options{
|
||||
|
@ -364,7 +364,7 @@ func startSentinel(port, masterName, masterPort string) (*redisProcess, error) {
|
|||
return p, nil
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
type badConnError string
|
||||
|
||||
|
@ -373,14 +373,28 @@ func (e badConnError) Timeout() bool { return true }
|
|||
func (e badConnError) Temporary() bool { return false }
|
||||
|
||||
type badConn struct {
|
||||
net.TCPConn
|
||||
|
||||
readDelay, writeDelay time.Duration
|
||||
readErr, writeErr error
|
||||
}
|
||||
|
||||
var _ net.Conn = &badConn{}
|
||||
|
||||
func (cn *badConn) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cn *badConn) LocalAddr() net.Addr {
|
||||
return &net.TCPAddr{}
|
||||
}
|
||||
|
||||
func (cn *badConn) RemoteAddr() net.Addr {
|
||||
return &net.TCPAddr{}
|
||||
}
|
||||
|
||||
func (cn *badConn) SetDeadline(t time.Time) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cn *badConn) SetReadDeadline(t time.Time) error {
|
||||
return nil
|
||||
}
|
||||
|
@ -409,7 +423,7 @@ func (cn *badConn) Write([]byte) (int, error) {
|
|||
return 0, badConnError("bad connection")
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
type hook struct {
|
||||
beforeProcess func(ctx context.Context, cmd redis.Cmder) (context.Context, error)
|
||||
|
|
Loading…
Reference in New Issue