@@ -8,15 +8,6 @@ import (
88 "github.com/stretchr/testify/require"
99)
1010
11- func TestUnmarshalList (t * testing.T ) {
12- count := 1000
13- b := newMockBackend (count )
14- l := []testStruct {}
15- err := UnmarshalJSONList (& l , "" , b )
16- require .NoError (t , err )
17- assert .Len (t , l , count )
18- }
19-
2011func TestUnmarshal (t * testing.T ) {
2112 count := 1000
2213 b := newMockBackend (count )
@@ -34,19 +25,6 @@ func TestUnmarshal(t *testing.T) {
3425 assert .Len (t , l , count )
3526}
3627
37- func benchmarkUnmarshalList (i int , b * testing.B ) {
38- b .StopTimer ()
39-
40- back := newMockBackend (i )
41-
42- b .ReportAllocs ()
43- b .StartTimer ()
44-
45- for n := 0 ; n < b .N ; n ++ {
46- l := []testStruct {}
47- _ = UnmarshalJSONList (& l , "" , back )
48- }
49- }
5028func benchmarkUnmarshal (i int , b * testing.B ) {
5129 b .StopTimer ()
5230
@@ -72,26 +50,16 @@ func benchmarkUnmarshal(i int, b *testing.B) {
7250
7351/*
7452BenchmarkUnmarshal10-4 200000 194390 ns/op
75- BenchmarkUnmarshalList10-4 300000 201912 ns/op
7653BenchmarkUnmarshal100-4 20000 2076871 ns/op
77- BenchmarkUnmarshalList100-4 20000 2110142 ns/op
7854BenchmarkUnmarshal1000-4 2000 21495289 ns/op
79- BenchmarkUnmarshalList1000-4 2000 21822339 ns/op
8055BenchmarkUnmarshal10000-4 200 233705937 ns/op
81- BenchmarkUnmarshalList10000-4 200 211692563 ns/op
8256BenchmarkUnmarshal100000-4 20 2317840686 ns/op
83- BenchmarkUnmarshalList100000-4 20 2118017559 ns/op
8457*/
85- func BenchmarkUnmarshal10 (b * testing.B ) { benchmarkUnmarshal (10 , b ) }
86- func BenchmarkUnmarshalList10 (b * testing.B ) { benchmarkUnmarshalList (10 , b ) }
87- func BenchmarkUnmarshal100 (b * testing.B ) { benchmarkUnmarshal (100 , b ) }
88- func BenchmarkUnmarshalList100 (b * testing.B ) { benchmarkUnmarshalList (100 , b ) }
89- func BenchmarkUnmarshal1000 (b * testing.B ) { benchmarkUnmarshal (1000 , b ) }
90- func BenchmarkUnmarshalList1000 (b * testing.B ) { benchmarkUnmarshalList (1000 , b ) }
91- func BenchmarkUnmarshal10000 (b * testing.B ) { benchmarkUnmarshal (10000 , b ) }
92- func BenchmarkUnmarshalList10000 (b * testing.B ) { benchmarkUnmarshalList (10000 , b ) }
93- func BenchmarkUnmarshal100000 (b * testing.B ) { benchmarkUnmarshal (100000 , b ) }
94- func BenchmarkUnmarshalList100000 (b * testing.B ) { benchmarkUnmarshalList (100000 , b ) }
58+ func BenchmarkUnmarshal10 (b * testing.B ) { benchmarkUnmarshal (10 , b ) }
59+ func BenchmarkUnmarshal100 (b * testing.B ) { benchmarkUnmarshal (100 , b ) }
60+ func BenchmarkUnmarshal1000 (b * testing.B ) { benchmarkUnmarshal (1000 , b ) }
61+ func BenchmarkUnmarshal10000 (b * testing.B ) { benchmarkUnmarshal (10000 , b ) }
62+ func BenchmarkUnmarshal100000 (b * testing.B ) { benchmarkUnmarshal (100000 , b ) }
9563
9664type mockBackend struct {
9765 entries []Entry
@@ -136,6 +104,10 @@ func (mockBackend) Close() error {
136104 return nil
137105}
138106
107+ func (m * mockBackend ) WatchChan (string , interface {}, chan error , ... WatchOption ) (WatchStarter , error ) {
108+ return nil , nil
109+ }
110+
139111func newMockBackend (max int ) Backend {
140112 entries := make ([]Entry , 0 , max )
141113 for i := 0 ; i < max ; i ++ {
@@ -188,5 +160,4 @@ type testStruct struct {
188160 } `json:"commands"`
189161}
190162
191- //nolint:gochecknoglobals
192- var data = `{"id":"admin:lslb-pool","organization":"admin","name":"lslb-pool","description":"","user":"","group":"","shell":"bash","timeout":0,"interval":300000000000,"constraints":{"os":["linux"],"host":["p1-linux-mlsu005","p1-linux-mlsu006"],"files":["/usr/bin/lslb"]},"discovery":{"script":{"data":"echo \"fake-pool\"\n# sudo /usr/bin/lslb pools","rediscover":false}},"tags":null,"commands":{"start":{"shell":"/bin/true","timeout":"10s","rediscover":false},"status":{"shell":"/bin/true","timeout":"10s","rediscover":false},"stop":{"shell":"/bin/true","timeout":"10s","rediscover":false}}}`
163+ const data = `{"id":"admin:lslb-pool","organization":"admin","name":"lslb-pool","description":"","user":"","group":"","shell":"bash","timeout":0,"interval":300000000000,"constraints":{"os":["linux"],"host":["p1-linux-mlsu005","p1-linux-mlsu006"],"files":["/usr/bin/lslb"]},"discovery":{"script":{"data":"echo \"fake-pool\"\n# sudo /usr/bin/lslb pools","rediscover":false}},"tags":null,"commands":{"start":{"shell":"/bin/true","timeout":"10s","rediscover":false},"status":{"shell":"/bin/true","timeout":"10s","rediscover":false},"stop":{"shell":"/bin/true","timeout":"10s","rediscover":false}}}`
0 commit comments