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"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/go-redis/redis/v8"
|
|
||||||
|
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
. "github.com/onsi/gomega"
|
. "github.com/onsi/gomega"
|
||||||
|
|
||||||
|
"github.com/go-redis/redis/v8"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -117,7 +117,7 @@ func TestGinkgoSuite(t *testing.T) {
|
||||||
RunSpecs(t, "go-redis")
|
RunSpecs(t, "go-redis")
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
|
|
||||||
func redisOptions() *redis.Options {
|
func redisOptions() *redis.Options {
|
||||||
return &redis.Options{
|
return &redis.Options{
|
||||||
|
@ -364,7 +364,7 @@ func startSentinel(port, masterName, masterPort string) (*redisProcess, error) {
|
||||||
return p, nil
|
return p, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
|
|
||||||
type badConnError string
|
type badConnError string
|
||||||
|
|
||||||
|
@ -373,14 +373,28 @@ func (e badConnError) Timeout() bool { return true }
|
||||||
func (e badConnError) Temporary() bool { return false }
|
func (e badConnError) Temporary() bool { return false }
|
||||||
|
|
||||||
type badConn struct {
|
type badConn struct {
|
||||||
net.TCPConn
|
|
||||||
|
|
||||||
readDelay, writeDelay time.Duration
|
readDelay, writeDelay time.Duration
|
||||||
readErr, writeErr error
|
readErr, writeErr error
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ net.Conn = &badConn{}
|
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 {
|
func (cn *badConn) SetReadDeadline(t time.Time) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -409,7 +423,7 @@ func (cn *badConn) Write([]byte) (int, error) {
|
||||||
return 0, badConnError("bad connection")
|
return 0, badConnError("bad connection")
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
|
|
||||||
type hook struct {
|
type hook struct {
|
||||||
beforeProcess func(ctx context.Context, cmd redis.Cmder) (context.Context, error)
|
beforeProcess func(ctx context.Context, cmd redis.Cmder) (context.Context, error)
|
||||||
|
|
Loading…
Reference in New Issue