本文整理汇总了Golang中github.com/wandoulabs/redis-port/pkg/libs/assert.MustNoError函数的典型用法代码示例。如果您正苦于以下问题:Golang MustNoError函数的具体用法?Golang MustNoError怎么用?Golang MustNoError使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MustNoError函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestWriteAfterWriterClose
func TestWriteAfterWriterClose(t *testing.T) {
r, w := New()
s := "hello"
errs := make(chan error)
go func() {
n, err := w.Write([]byte(s))
assert.MustNoError(err)
assert.Must(n == len(s))
assert.MustNoError(w.Close())
_, err = w.Write([]byte("world"))
errs <- err
}()
buf := make([]byte, 4096)
n, err := io.ReadFull(r, buf)
assert.Must(errors.Equal(err, io.EOF))
assert.Must(string(buf[:n]) == s)
err = <-errs
assert.Must(errors.Equal(err, io.ErrClosedPipe))
assert.MustNoError(r.Close())
}
示例2: testPipe2
func testPipe2(t *testing.T, fileName string) {
r, w, f := openPipe(t, fileName)
defer f.Close()
c := 1024 * 128
s := "Hello world!!"
go func() {
for i := 0; i < c; i++ {
m := fmt.Sprintf("[%d]%s ", i, s)
n, err := w.Write([]byte(m))
assert.MustNoError(err)
assert.Must(n == len(m))
}
assert.MustNoError(w.Close())
}()
time.Sleep(time.Millisecond * 10)
buf := make([]byte, len(s)*c*2)
n, err := io.ReadFull(r, buf)
assert.Must(errors.Equal(err, io.EOF))
buf = buf[:n]
for i := 0; i < c; i++ {
m := fmt.Sprintf("[%d]%s ", i, s)
assert.Must(len(buf) >= len(m))
assert.Must(string(buf[:len(m)]) == m)
buf = buf[len(m):]
}
assert.Must(len(buf) == 0)
assert.MustNoError(r.Close())
}
示例3: hexStringToObject
func hexStringToObject(t *testing.T, s string) interface{} {
p, err := hex.DecodeString(strings.NewReplacer("\t", "", "\r", "", "\n", "", " ", "").Replace(s))
assert.MustNoError(err)
o, err := DecodeDump(p)
assert.MustNoError(err)
assert.Must(o != nil)
return o
}
示例4: TestServerServe
func TestServerServe(t *testing.T) {
h := &testHandler{make(map[string]int)}
s, err := NewServer(h)
assert.MustNoError(err)
resp, err := Decode(bufio.NewReader(bytes.NewReader([]byte("*2\r\n$3\r\nset\r\n$3\r\nfoo\r\n"))))
assert.MustNoError(err)
_, err = s.Dispatch(nil, resp)
assert.MustNoError(err)
testmapcount(t, h.c, map[string]int{"foo": 1})
}
示例5: TestDecodeSimpleRequest1
func TestDecodeSimpleRequest1(t *testing.T) {
resp, err := DecodeFromBytes([]byte("\r\n"))
assert.MustNoError(err)
x, ok := resp.(*Array)
assert.Must(ok)
assert.Must(len(x.Value) == 0)
}
示例6: TestEncodeHash
func TestEncodeHash(t *testing.T) {
docheck := func(m map[string]string) {
p, err := EncodeDump(toHash(m))
assert.MustNoError(err)
o, err := DecodeDump(p)
assert.MustNoError(err)
checkHash(t, o, m)
}
docheck(map[string]string{"": ""})
docheck(map[string]string{"": "", "a": "", "b": "a", "c": "b", "d": "c"})
hash := make(map[string]string)
for i := 0; i < 65536; i++ {
hash[strconv.Itoa(i)] = strconv.Itoa(i + 1)
}
docheck(hash)
}
示例7: TestEncodeList
func TestEncodeList(t *testing.T) {
docheck := func(list ...string) {
p, err := EncodeDump(toList(list...))
assert.MustNoError(err)
o, err := DecodeDump(p)
assert.MustNoError(err)
checkList(t, o, list)
}
docheck("")
docheck("", "a", "b", "c", "d", "e")
list := []string{}
for i := 0; i < 65536; i++ {
list = append(list, strconv.Itoa(i))
}
docheck(list...)
}
示例8: TestEncodeSet
func TestEncodeSet(t *testing.T) {
docheck := func(set ...string) {
p, err := EncodeDump(toSet(set...))
assert.MustNoError(err)
o, err := DecodeDump(p)
assert.MustNoError(err)
checkSet(t, o, set)
}
docheck("")
docheck("", "a", "b", "c")
set := []string{}
for i := 0; i < 65536; i++ {
set = append(set, strconv.Itoa(i))
}
docheck(set...)
}
示例9: getobj
func getobj(t *testing.T, entries map[string]*BinEntry, key string) (*BinEntry, interface{}) {
e := entries[key]
assert.Must(e != nil)
o, err := DecodeDump(e.Value)
assert.MustNoError(err)
return e, o
}
示例10: testBacklog
func testBacklog(t *testing.T, bl *Backlog, size int) {
input := randSlice(32)
r1, err := bl.NewReader()
assert.MustNoError(err)
checkWriter(bl, input)
checkReader(r1, input)
checkReader(r1, []byte{})
input = randSlice(size)
checkWriter(bl, input)
checkReader(r1, input)
checkWriter(bl, randSlice(size))
assert.Must(r1.IsValid() == true)
r2, err := bl.NewReader()
assert.MustNoError(err)
input = []byte{0xde, 0xad, 0xbe, 0xef}
checkWriter(bl, input)
assert.Must(r1.IsValid() == false)
_, err = r1.Read([]byte{0})
assert.Must(errors.Equal(err, ErrInvalidOffset))
b := make([]byte, len(input))
n, err := io.ReadFull(r2, b)
assert.MustNoError(err)
assert.Must(n == len(b) && bytes.Equal(b, input))
bl.Close()
assert.Must(r1.IsValid() == false)
assert.Must(r2.IsValid() == false)
_, err = r1.Read([]byte{0})
assert.Must(errors.Equal(err, ErrClosedBacklog))
_, err = r2.Read([]byte{0})
assert.Must(errors.Equal(err, ErrClosedBacklog))
_, err = bl.Write([]byte{0})
assert.Must(errors.Equal(err, ErrClosedBacklog))
}
示例11: testPipe3
func testPipe3(t *testing.T, fileName string) {
r, w, f := openPipe(t, fileName)
defer f.Close()
c := make(chan int)
size := 4096
go func() {
buf := make([]byte, size)
for {
n, err := r.Read(buf)
if errors.Equal(err, io.EOF) {
break
}
assert.MustNoError(err)
c <- n
}
assert.MustNoError(r.Close())
c <- 0
}()
go func() {
buf := make([]byte, size)
for i := 1; i < size; i++ {
n, err := w.Write(buf[:i])
assert.MustNoError(err)
assert.Must(n == i)
}
assert.MustNoError(w.Close())
}()
sum := 0
for i := 1; i < size; i++ {
sum += i
}
for {
n := <-c
if n == 0 {
break
}
sum -= n
}
assert.Must(sum == 0)
}
示例12: TestEncodeString
func TestEncodeString(t *testing.T) {
docheck := func(text string) {
p, err := EncodeDump(toString(text))
assert.MustNoError(err)
o, err := DecodeDump(p)
assert.MustNoError(err)
checkString(t, o, text)
}
docheck("hello world!!")
docheck("2147483648")
docheck("4294967296")
docheck("")
var b bytes.Buffer
for i := 0; i < 1024; i++ {
b.Write([]byte("01"))
}
docheck(b.String())
}
示例13: TestWriteNil
func TestWriteNil(t *testing.T) {
r, w := New()
go func() {
n, err := w.Write(nil)
assert.MustNoError(err)
assert.Must(n == 0)
assert.MustNoError(w.Close())
}()
time.Sleep(time.Millisecond * 10)
buf := make([]byte, 4096)
n, err := io.ReadFull(r, buf)
assert.Must(errors.Equal(err, io.EOF))
assert.Must(n == 0)
assert.MustNoError(r.Close())
}
示例14: TestEncodeZSet
func TestEncodeZSet(t *testing.T) {
docheck := func(m map[string]float64) {
p, err := EncodeDump(toZSet(m))
assert.MustNoError(err)
o, err := DecodeDump(p)
assert.MustNoError(err)
checkZSet(t, o, m)
}
docheck(map[string]float64{"": 0})
zset := make(map[string]float64)
for i := -65535; i < 65536; i++ {
zset[strconv.Itoa(i)] = float64(i)
}
docheck(zset)
zset["inf"] = math.Inf(1)
zset["-inf"] = math.Inf(-1)
zset["nan"] = math.NaN()
docheck(zset)
}
示例15: delayClose
func delayClose(t *testing.T, closer Closer, c chan int, u pipeTest) {
time.Sleep(time.Millisecond * 10)
var err error
if u.witherr {
err = closer.CloseWithError(u.err)
} else {
err = closer.Close()
}
assert.MustNoError(err)
c <- 0
}