1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-06-20 14:35:23 +00:00

Smarter reader generator

This commit is contained in:
V2Ray 2015-11-10 12:13:01 +01:00
parent 2a6f4740c1
commit bd48556b98
3 changed files with 24 additions and 6 deletions

View File

@ -1,8 +1,9 @@
package protocol
import (
"crypto/rand"
"testing"
"github.com/v2ray/v2ray-core/testing/fuzzing"
)
const (
@ -11,18 +12,18 @@ const (
func TestReadAuthentication(t *testing.T) {
for i := 0; i < Iterations; i++ {
ReadAuthentication(rand.Reader)
ReadAuthentication(fuzzing.RandomReader())
}
}
func TestReadUserPassRequest(t *testing.T) {
for i := 0; i < Iterations; i++ {
ReadUserPassRequest(rand.Reader)
ReadUserPassRequest(fuzzing.RandomReader())
}
}
func TestReadRequest(t *testing.T) {
for i := 0; i < Iterations; i++ {
ReadRequest(rand.Reader)
ReadRequest(fuzzing.RandomReader())
}
}

View File

@ -1,15 +1,15 @@
package protocol
import (
"crypto/rand"
"testing"
"github.com/v2ray/v2ray-core/proxy/vmess/protocol/user/testing/mocks"
"github.com/v2ray/v2ray-core/testing/fuzzing"
)
func TestVMessRequestReader(t *testing.T) {
reader := NewVMessRequestReader(&mocks.StaticUserSet{})
for i := 0; i < 10000000; i++ {
reader.Read(rand.Reader)
reader.Read(fuzzing.RandomReader())
}
}

View File

@ -0,0 +1,17 @@
package fuzzing
import (
"bytes"
"crypto/rand"
"io"
)
func RandomBytes() []byte {
buffer := make([]byte, 256)
rand.Read(buffer)
return buffer[1 : 1+int(buffer[0])]
}
func RandomReader() io.Reader {
return bytes.NewReader(RandomBytes())
}