summaryrefslogtreecommitdiff
path: root/vendor/gopkg.in/go-playground/validator.v9/benchmarks_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gopkg.in/go-playground/validator.v9/benchmarks_test.go')
-rw-r--r--vendor/gopkg.in/go-playground/validator.v9/benchmarks_test.go1210
1 files changed, 0 insertions, 1210 deletions
diff --git a/vendor/gopkg.in/go-playground/validator.v9/benchmarks_test.go b/vendor/gopkg.in/go-playground/validator.v9/benchmarks_test.go
deleted file mode 100644
index 5ac871f..0000000
--- a/vendor/gopkg.in/go-playground/validator.v9/benchmarks_test.go
+++ /dev/null
@@ -1,1210 +0,0 @@
-package validator
-
-import (
- "bytes"
- sql "database/sql/driver"
- "testing"
- "time"
-)
-
-func BenchmarkFieldSuccess(b *testing.B) {
-
- validate := New()
-
- s := "1"
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Var(&s, "len=1")
- }
-}
-
-func BenchmarkFieldSuccessParallel(b *testing.B) {
-
- validate := New()
-
- s := "1"
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Var(&s, "len=1")
- }
- })
-}
-
-func BenchmarkFieldFailure(b *testing.B) {
-
- validate := New()
-
- s := "12"
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Var(&s, "len=1")
- }
-}
-
-func BenchmarkFieldFailureParallel(b *testing.B) {
-
- validate := New()
-
- s := "12"
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Var(&s, "len=1")
- }
- })
-}
-
-func BenchmarkFieldArrayDiveSuccess(b *testing.B) {
-
- validate := New()
-
- m := []string{"val1", "val2", "val3"}
-
- b.ResetTimer()
-
- for n := 0; n < b.N; n++ {
- validate.Var(m, "required,dive,required")
- }
-}
-
-func BenchmarkFieldArrayDiveSuccessParallel(b *testing.B) {
-
- validate := New()
-
- m := []string{"val1", "val2", "val3"}
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Var(m, "required,dive,required")
- }
- })
-}
-
-func BenchmarkFieldArrayDiveFailure(b *testing.B) {
-
- validate := New()
-
- m := []string{"val1", "", "val3"}
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Var(m, "required,dive,required")
- }
-}
-
-func BenchmarkFieldArrayDiveFailureParallel(b *testing.B) {
-
- validate := New()
-
- m := []string{"val1", "", "val3"}
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Var(m, "required,dive,required")
- }
- })
-}
-
-func BenchmarkFieldMapDiveSuccess(b *testing.B) {
-
- validate := New()
-
- m := map[string]string{"val1": "val1", "val2": "val2", "val3": "val3"}
-
- b.ResetTimer()
-
- for n := 0; n < b.N; n++ {
- validate.Var(m, "required,dive,required")
- }
-}
-
-func BenchmarkFieldMapDiveSuccessParallel(b *testing.B) {
-
- validate := New()
-
- m := map[string]string{"val1": "val1", "val2": "val2", "val3": "val3"}
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Var(m, "required,dive,required")
- }
- })
-}
-
-func BenchmarkFieldMapDiveFailure(b *testing.B) {
-
- validate := New()
-
- m := map[string]string{"": "", "val3": "val3"}
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Var(m, "required,dive,required")
- }
-}
-
-func BenchmarkFieldMapDiveFailureParallel(b *testing.B) {
-
- validate := New()
-
- m := map[string]string{"": "", "val3": "val3"}
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Var(m, "required,dive,required")
- }
- })
-}
-
-func BenchmarkFieldMapDiveWithKeysSuccess(b *testing.B) {
-
- validate := New()
-
- m := map[string]string{"val1": "val1", "val2": "val2", "val3": "val3"}
-
- b.ResetTimer()
-
- for n := 0; n < b.N; n++ {
- validate.Var(m, "required,dive,keys,required,endkeys,required")
- }
-}
-
-func BenchmarkFieldMapDiveWithKeysSuccessParallel(b *testing.B) {
-
- validate := New()
-
- m := map[string]string{"val1": "val1", "val2": "val2", "val3": "val3"}
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Var(m, "required,dive,keys,required,endkeys,required")
- }
- })
-}
-
-func BenchmarkFieldMapDiveWithKeysFailure(b *testing.B) {
-
- validate := New()
-
- m := map[string]string{"": "", "val3": "val3"}
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Var(m, "required,dive,keys,required,endkeys,required")
- }
-}
-
-func BenchmarkFieldMapDiveWithKeysFailureParallel(b *testing.B) {
-
- validate := New()
-
- m := map[string]string{"": "", "val3": "val3"}
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Var(m, "required,dive,keys,required,endkeys,required")
- }
- })
-}
-
-func BenchmarkFieldCustomTypeSuccess(b *testing.B) {
-
- validate := New()
- validate.RegisterCustomTypeFunc(ValidateValuerType, (*sql.Valuer)(nil), valuer{})
-
- val := valuer{
- Name: "1",
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Var(val, "len=1")
- }
-}
-
-func BenchmarkFieldCustomTypeSuccessParallel(b *testing.B) {
-
- validate := New()
- validate.RegisterCustomTypeFunc(ValidateValuerType, (*sql.Valuer)(nil), valuer{})
-
- val := valuer{
- Name: "1",
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Var(val, "len=1")
- }
- })
-}
-
-func BenchmarkFieldCustomTypeFailure(b *testing.B) {
-
- validate := New()
- validate.RegisterCustomTypeFunc(ValidateValuerType, (*sql.Valuer)(nil), valuer{})
-
- val := valuer{}
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Var(val, "len=1")
- }
-}
-
-func BenchmarkFieldCustomTypeFailureParallel(b *testing.B) {
-
- validate := New()
- validate.RegisterCustomTypeFunc(ValidateValuerType, (*sql.Valuer)(nil), valuer{})
-
- val := valuer{}
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Var(val, "len=1")
- }
- })
-}
-
-func BenchmarkFieldOrTagSuccess(b *testing.B) {
-
- validate := New()
-
- s := "rgba(0,0,0,1)"
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Var(s, "rgb|rgba")
- }
-}
-
-func BenchmarkFieldOrTagSuccessParallel(b *testing.B) {
-
- validate := New()
-
- s := "rgba(0,0,0,1)"
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Var(s, "rgb|rgba")
- }
- })
-}
-
-func BenchmarkFieldOrTagFailure(b *testing.B) {
-
- validate := New()
-
- s := "#000"
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Var(s, "rgb|rgba")
- }
-}
-
-func BenchmarkFieldOrTagFailureParallel(b *testing.B) {
-
- validate := New()
-
- s := "#000"
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Var(s, "rgb|rgba")
- }
- })
-}
-
-func BenchmarkStructLevelValidationSuccess(b *testing.B) {
-
- validate := New()
- validate.RegisterStructValidation(StructValidationTestStructSuccess, TestStruct{})
-
- tst := TestStruct{
- String: "good value",
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Struct(tst)
- }
-}
-
-func BenchmarkStructLevelValidationSuccessParallel(b *testing.B) {
-
- validate := New()
- validate.RegisterStructValidation(StructValidationTestStructSuccess, TestStruct{})
-
- tst := TestStruct{
- String: "good value",
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(tst)
- }
- })
-}
-
-func BenchmarkStructLevelValidationFailure(b *testing.B) {
-
- validate := New()
- validate.RegisterStructValidation(StructValidationTestStruct, TestStruct{})
-
- tst := TestStruct{
- String: "good value",
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Struct(tst)
- }
-}
-
-func BenchmarkStructLevelValidationFailureParallel(b *testing.B) {
-
- validate := New()
- validate.RegisterStructValidation(StructValidationTestStruct, TestStruct{})
-
- tst := TestStruct{
- String: "good value",
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(tst)
- }
- })
-}
-
-func BenchmarkStructSimpleCustomTypeSuccess(b *testing.B) {
-
- validate := New()
- validate.RegisterCustomTypeFunc(ValidateValuerType, (*sql.Valuer)(nil), valuer{})
-
- val := valuer{
- Name: "1",
- }
-
- type Foo struct {
- Valuer valuer `validate:"len=1"`
- IntValue int `validate:"min=5,max=10"`
- }
-
- validFoo := &Foo{Valuer: val, IntValue: 7}
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Struct(validFoo)
- }
-}
-
-func BenchmarkStructSimpleCustomTypeSuccessParallel(b *testing.B) {
-
- validate := New()
- validate.RegisterCustomTypeFunc(ValidateValuerType, (*sql.Valuer)(nil), valuer{})
-
- val := valuer{
- Name: "1",
- }
-
- type Foo struct {
- Valuer valuer `validate:"len=1"`
- IntValue int `validate:"min=5,max=10"`
- }
-
- validFoo := &Foo{Valuer: val, IntValue: 7}
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(validFoo)
- }
- })
-}
-
-func BenchmarkStructSimpleCustomTypeFailure(b *testing.B) {
-
- validate := New()
- validate.RegisterCustomTypeFunc(ValidateValuerType, (*sql.Valuer)(nil), valuer{})
-
- val := valuer{}
-
- type Foo struct {
- Valuer valuer `validate:"len=1"`
- IntValue int `validate:"min=5,max=10"`
- }
-
- validFoo := &Foo{Valuer: val, IntValue: 3}
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Struct(validFoo)
- }
-}
-
-func BenchmarkStructSimpleCustomTypeFailureParallel(b *testing.B) {
-
- validate := New()
- validate.RegisterCustomTypeFunc(ValidateValuerType, (*sql.Valuer)(nil), valuer{})
-
- val := valuer{}
-
- type Foo struct {
- Valuer valuer `validate:"len=1"`
- IntValue int `validate:"min=5,max=10"`
- }
-
- validFoo := &Foo{Valuer: val, IntValue: 3}
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(validate.Struct(validFoo))
- }
- })
-}
-
-func BenchmarkStructFilteredSuccess(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Name string `validate:"required"`
- NickName string `validate:"required"`
- }
-
- test := &Test{
- Name: "Joey Bloggs",
- }
-
- byts := []byte("Name")
-
- fn := func(ns []byte) bool {
- return !bytes.HasSuffix(ns, byts)
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.StructFiltered(test, fn)
- }
-}
-
-func BenchmarkStructFilteredSuccessParallel(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Name string `validate:"required"`
- NickName string `validate:"required"`
- }
-
- test := &Test{
- Name: "Joey Bloggs",
- }
-
- byts := []byte("Name")
-
- fn := func(ns []byte) bool {
- return !bytes.HasSuffix(ns, byts)
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.StructFiltered(test, fn)
- }
- })
-}
-
-func BenchmarkStructFilteredFailure(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Name string `validate:"required"`
- NickName string `validate:"required"`
- }
-
- test := &Test{
- Name: "Joey Bloggs",
- }
-
- byts := []byte("NickName")
-
- fn := func(ns []byte) bool {
- return !bytes.HasSuffix(ns, byts)
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.StructFiltered(test, fn)
- }
-}
-
-func BenchmarkStructFilteredFailureParallel(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Name string `validate:"required"`
- NickName string `validate:"required"`
- }
-
- test := &Test{
- Name: "Joey Bloggs",
- }
-
- byts := []byte("NickName")
-
- fn := func(ns []byte) bool {
- return !bytes.HasSuffix(ns, byts)
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.StructFiltered(test, fn)
- }
- })
-}
-
-func BenchmarkStructPartialSuccess(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Name string `validate:"required"`
- NickName string `validate:"required"`
- }
-
- test := &Test{
- Name: "Joey Bloggs",
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.StructPartial(test, "Name")
- }
-}
-
-func BenchmarkStructPartialSuccessParallel(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Name string `validate:"required"`
- NickName string `validate:"required"`
- }
-
- test := &Test{
- Name: "Joey Bloggs",
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.StructPartial(test, "Name")
- }
- })
-}
-
-func BenchmarkStructPartialFailure(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Name string `validate:"required"`
- NickName string `validate:"required"`
- }
-
- test := &Test{
- Name: "Joey Bloggs",
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.StructPartial(test, "NickName")
- }
-}
-
-func BenchmarkStructPartialFailureParallel(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Name string `validate:"required"`
- NickName string `validate:"required"`
- }
-
- test := &Test{
- Name: "Joey Bloggs",
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.StructPartial(test, "NickName")
- }
- })
-}
-
-func BenchmarkStructExceptSuccess(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Name string `validate:"required"`
- NickName string `validate:"required"`
- }
-
- test := &Test{
- Name: "Joey Bloggs",
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.StructExcept(test, "Nickname")
- }
-}
-
-func BenchmarkStructExceptSuccessParallel(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Name string `validate:"required"`
- NickName string `validate:"required"`
- }
-
- test := &Test{
- Name: "Joey Bloggs",
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.StructExcept(test, "NickName")
- }
- })
-}
-
-func BenchmarkStructExceptFailure(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Name string `validate:"required"`
- NickName string `validate:"required"`
- }
-
- test := &Test{
- Name: "Joey Bloggs",
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.StructExcept(test, "Name")
- }
-}
-
-func BenchmarkStructExceptFailureParallel(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Name string `validate:"required"`
- NickName string `validate:"required"`
- }
-
- test := &Test{
- Name: "Joey Bloggs",
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.StructExcept(test, "Name")
- }
- })
-}
-
-func BenchmarkStructSimpleCrossFieldSuccess(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Start time.Time
- End time.Time `validate:"gtfield=Start"`
- }
-
- now := time.Now().UTC()
- then := now.Add(time.Hour * 5)
-
- test := &Test{
- Start: now,
- End: then,
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Struct(test)
- }
-}
-
-func BenchmarkStructSimpleCrossFieldSuccessParallel(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Start time.Time
- End time.Time `validate:"gtfield=Start"`
- }
-
- now := time.Now().UTC()
- then := now.Add(time.Hour * 5)
-
- test := &Test{
- Start: now,
- End: then,
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(test)
- }
- })
-}
-
-func BenchmarkStructSimpleCrossFieldFailure(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Start time.Time
- End time.Time `validate:"gtfield=Start"`
- }
-
- now := time.Now().UTC()
- then := now.Add(time.Hour * -5)
-
- test := &Test{
- Start: now,
- End: then,
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Struct(test)
- }
-}
-
-func BenchmarkStructSimpleCrossFieldFailureParallel(b *testing.B) {
-
- validate := New()
-
- type Test struct {
- Start time.Time
- End time.Time `validate:"gtfield=Start"`
- }
-
- now := time.Now().UTC()
- then := now.Add(time.Hour * -5)
-
- test := &Test{
- Start: now,
- End: then,
- }
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(test)
- }
- })
-}
-
-func BenchmarkStructSimpleCrossStructCrossFieldSuccess(b *testing.B) {
-
- validate := New()
-
- type Inner struct {
- Start time.Time
- }
-
- type Outer struct {
- Inner *Inner
- CreatedAt time.Time `validate:"eqcsfield=Inner.Start"`
- }
-
- now := time.Now().UTC()
-
- inner := &Inner{
- Start: now,
- }
-
- outer := &Outer{
- Inner: inner,
- CreatedAt: now,
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Struct(outer)
- }
-}
-
-func BenchmarkStructSimpleCrossStructCrossFieldSuccessParallel(b *testing.B) {
-
- validate := New()
-
- type Inner struct {
- Start time.Time
- }
-
- type Outer struct {
- Inner *Inner
- CreatedAt time.Time `validate:"eqcsfield=Inner.Start"`
- }
-
- now := time.Now().UTC()
-
- inner := &Inner{
- Start: now,
- }
-
- outer := &Outer{
- Inner: inner,
- CreatedAt: now,
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(outer)
- }
- })
-}
-
-func BenchmarkStructSimpleCrossStructCrossFieldFailure(b *testing.B) {
-
- validate := New()
-
- type Inner struct {
- Start time.Time
- }
-
- type Outer struct {
- Inner *Inner
- CreatedAt time.Time `validate:"eqcsfield=Inner.Start"`
- }
-
- now := time.Now().UTC()
- then := now.Add(time.Hour * 5)
-
- inner := &Inner{
- Start: then,
- }
-
- outer := &Outer{
- Inner: inner,
- CreatedAt: now,
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Struct(outer)
- }
-}
-
-func BenchmarkStructSimpleCrossStructCrossFieldFailureParallel(b *testing.B) {
-
- validate := New()
-
- type Inner struct {
- Start time.Time
- }
-
- type Outer struct {
- Inner *Inner
- CreatedAt time.Time `validate:"eqcsfield=Inner.Start"`
- }
-
- now := time.Now().UTC()
- then := now.Add(time.Hour * 5)
-
- inner := &Inner{
- Start: then,
- }
-
- outer := &Outer{
- Inner: inner,
- CreatedAt: now,
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(outer)
- }
- })
-}
-
-func BenchmarkStructSimpleSuccess(b *testing.B) {
-
- validate := New()
-
- type Foo struct {
- StringValue string `validate:"min=5,max=10"`
- IntValue int `validate:"min=5,max=10"`
- }
-
- validFoo := &Foo{StringValue: "Foobar", IntValue: 7}
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Struct(validFoo)
- }
-}
-
-func BenchmarkStructSimpleSuccessParallel(b *testing.B) {
-
- validate := New()
-
- type Foo struct {
- StringValue string `validate:"min=5,max=10"`
- IntValue int `validate:"min=5,max=10"`
- }
-
- validFoo := &Foo{StringValue: "Foobar", IntValue: 7}
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(validFoo)
- }
- })
-}
-
-func BenchmarkStructSimpleFailure(b *testing.B) {
-
- validate := New()
-
- type Foo struct {
- StringValue string `validate:"min=5,max=10"`
- IntValue int `validate:"min=5,max=10"`
- }
-
- invalidFoo := &Foo{StringValue: "Fo", IntValue: 3}
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Struct(invalidFoo)
- }
-}
-
-func BenchmarkStructSimpleFailureParallel(b *testing.B) {
-
- validate := New()
-
- type Foo struct {
- StringValue string `validate:"min=5,max=10"`
- IntValue int `validate:"min=5,max=10"`
- }
-
- invalidFoo := &Foo{StringValue: "Fo", IntValue: 3}
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(invalidFoo)
- }
- })
-}
-
-func BenchmarkStructComplexSuccess(b *testing.B) {
-
- validate := New()
-
- tSuccess := &TestString{
- Required: "Required",
- Len: "length==10",
- Min: "min=1",
- Max: "1234567890",
- MinMax: "12345",
- Lt: "012345678",
- Lte: "0123456789",
- Gt: "01234567890",
- Gte: "0123456789",
- OmitEmpty: "",
- Sub: &SubTest{
- Test: "1",
- },
- SubIgnore: &SubTest{
- Test: "",
- },
- Anonymous: struct {
- A string `validate:"required"`
- }{
- A: "1",
- },
- Iface: &Impl{
- F: "123",
- },
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Struct(tSuccess)
- }
-}
-
-func BenchmarkStructComplexSuccessParallel(b *testing.B) {
-
- validate := New()
-
- tSuccess := &TestString{
- Required: "Required",
- Len: "length==10",
- Min: "min=1",
- Max: "1234567890",
- MinMax: "12345",
- Lt: "012345678",
- Lte: "0123456789",
- Gt: "01234567890",
- Gte: "0123456789",
- OmitEmpty: "",
- Sub: &SubTest{
- Test: "1",
- },
- SubIgnore: &SubTest{
- Test: "",
- },
- Anonymous: struct {
- A string `validate:"required"`
- }{
- A: "1",
- },
- Iface: &Impl{
- F: "123",
- },
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(tSuccess)
- }
- })
-}
-
-func BenchmarkStructComplexFailure(b *testing.B) {
-
- validate := New()
-
- tFail := &TestString{
- Required: "",
- Len: "",
- Min: "",
- Max: "12345678901",
- MinMax: "",
- Lt: "0123456789",
- Lte: "01234567890",
- Gt: "1",
- Gte: "1",
- OmitEmpty: "12345678901",
- Sub: &SubTest{
- Test: "",
- },
- Anonymous: struct {
- A string `validate:"required"`
- }{
- A: "",
- },
- Iface: &Impl{
- F: "12",
- },
- }
-
- b.ResetTimer()
- for n := 0; n < b.N; n++ {
- validate.Struct(tFail)
- }
-}
-
-func BenchmarkStructComplexFailureParallel(b *testing.B) {
-
- validate := New()
-
- tFail := &TestString{
- Required: "",
- Len: "",
- Min: "",
- Max: "12345678901",
- MinMax: "",
- Lt: "0123456789",
- Lte: "01234567890",
- Gt: "1",
- Gte: "1",
- OmitEmpty: "12345678901",
- Sub: &SubTest{
- Test: "",
- },
- Anonymous: struct {
- A string `validate:"required"`
- }{
- A: "",
- },
- Iface: &Impl{
- F: "12",
- },
- }
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- validate.Struct(tFail)
- }
- })
-}
-
-type TestOneof struct {
- Color string `validate:"oneof=red green"`
-}
-
-func BenchmarkOneof(b *testing.B) {
- w := &TestOneof{Color: "green"}
- val := New()
- for i := 0; i < b.N; i++ {
- val.Struct(w)
- }
-}
-
-func BenchmarkOneofParallel(b *testing.B) {
- w := &TestOneof{Color: "green"}
- val := New()
-
- b.ResetTimer()
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- val.Struct(w)
- }
- })
-}