1
0
mirror of https://github.com/redis/go-redis.git synced 2025-07-28 06:42:00 +03:00

Add ClusterPipeline.

This commit is contained in:
Vladimir Mihailenco
2015-03-18 12:41:24 +02:00
parent 5c951b37d5
commit 99fe9114b1
9 changed files with 310 additions and 104 deletions

View File

@ -117,51 +117,52 @@ var _ = Describe("Command", func() {
})
Describe("races", func() {
var C, N = 10, 1000
if testing.Short() {
N = 100
}
It("should echo", func() {
var n = 10000
if testing.Short() {
n = 1000
}
wg := &sync.WaitGroup{}
wg.Add(n)
for i := 0; i < n; i++ {
for i := 0; i < C; i++ {
wg.Add(1)
go func(i int) {
defer GinkgoRecover()
defer wg.Done()
msg := "echo" + strconv.Itoa(i)
echo := client.Echo(msg)
Expect(echo.Err()).NotTo(HaveOccurred())
Expect(echo.Val()).To(Equal(msg))
for j := 0; j < N; j++ {
msg := "echo" + strconv.Itoa(i)
echo := client.Echo(msg)
Expect(echo.Err()).NotTo(HaveOccurred())
Expect(echo.Val()).To(Equal(msg))
}
}(i)
}
wg.Wait()
})
It("should incr", func() {
var n = 10000
if testing.Short() {
n = 1000
}
key := "TestIncrFromGoroutines"
wg := &sync.WaitGroup{}
wg.Add(n)
for i := 0; i < n; i++ {
for i := 0; i < C; i++ {
wg.Add(1)
go func() {
defer GinkgoRecover()
defer wg.Done()
err := client.Incr(key).Err()
Expect(err).NotTo(HaveOccurred())
for j := 0; j < N; j++ {
err := client.Incr(key).Err()
Expect(err).NotTo(HaveOccurred())
}
}()
}
wg.Wait()
val, err := client.Get(key).Int64()
Expect(err).NotTo(HaveOccurred())
Expect(val).To(Equal(int64(n)))
Expect(val).To(Equal(int64(C * N)))
})
})