代码拉取完成,页面将自动刷新
同步操作将从 go-locks/distlock 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package distlock
import (
"testing"
"github.com/go-locks/distlock/driver/mocks"
"github.com/stretchr/testify/mock"
)
var dl = mockDistlock()
func mockDistlock() *Distlock {
var mockDriver = mocks.New()
var notifyChan = make(chan struct{})
mockDriver.On("Watch", mock.Anything).Return(notifyChan)
return New(mockDriver, Prefix("test"))
}
func TestDistlock_NewMutex(t *testing.T) {
name := "mutex"
if mtx1, err := dl.NewMutex(name); err != nil {
t.Error(err)
} else if mtx2, _ := dl.NewMutex(name); mtx1 != mtx2 {
t.Error("unexpected result, mutex must be same when the name is same")
} else if _, err := dl.NewRWMutex(name); err == nil {
t.Error("unexpected result, rwmutex can not have the same name with mutex")
}
}
func TestDistlock_NewRWMutex(t *testing.T) {
name := "rwmutex"
if rwMtx1, err := dl.NewRWMutex(name); err != nil {
t.Error(err)
} else if rwMtx2, _ := dl.NewRWMutex(name); rwMtx1 != rwMtx2 {
t.Error("unexpected result, rw mutex must be same when the name is same")
} else if _, err := dl.NewMutex(name); err == nil {
t.Error("unexpected result, mutex can not have the same name with rwmutex")
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。